aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java
diff options
context:
space:
mode:
authorDan Zivkovic <zivkovic@google.com>2015-02-26 11:10:37 -0800
committerDan Zivkovic <zivkovic@google.com>2015-02-26 11:10:37 -0800
commitedd94a449e293c07779ac50e98aca3ad92910d92 (patch)
tree34d42756e7198a220f69d607fc571f806e622a20 /java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java
parent48b071249cd662a5448ae0178e16b0b5026ee4cf (diff)
downloadlatinime-edd94a449e293c07779ac50e98aca3ad92910d92.tar.gz
latinime-edd94a449e293c07779ac50e98aca3ad92910d92.tar.xz
latinime-edd94a449e293c07779ac50e98aca3ad92910d92.zip
Ignore the Emoji key when not connected.
When the LatinIME does not have an active InputConnection, it will not try to toggle the Emoji keyboard. Bug 19513415. Change-Id: I31f928cd7db1cddd771c548cd3dc42f8af64d0e2
Diffstat (limited to 'java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java')
-rw-r--r--java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java b/java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java
index 8116a4983..9b271116d 100644
--- a/java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java
+++ b/java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java
@@ -16,6 +16,7 @@
package com.android.inputmethod.latin;
+import android.util.Log;
import android.view.KeyEvent;
import com.android.inputmethod.keyboard.KeyboardSwitcher;
@@ -25,10 +26,18 @@ import com.android.inputmethod.latin.settings.Settings;
* A class for detecting Emoji-Alt physical key.
*/
final class EmojiAltPhysicalKeyDetector {
+ private static final String TAG = "EmojiAltPhysicalKeyDetector";
+
+ private final RichInputConnection mRichInputConnection;
+
// True if the Alt key has been used as a modifier. In this case the Alt key up isn't
// recognized as an emoji key.
private boolean mAltHasBeenUsedAsAModifier;
+ public EmojiAltPhysicalKeyDetector(final RichInputConnection richInputConnection) {
+ mRichInputConnection = richInputConnection;
+ }
+
/**
* Record a down key event.
* @param keyEvent a down key event.
@@ -62,9 +71,14 @@ final class EmojiAltPhysicalKeyDetector {
if (!Settings.getInstance().getCurrent().mEnableEmojiAltPhysicalKey) {
return;
}
- if (!mAltHasBeenUsedAsAModifier) {
- onEmojiAltKeyDetected();
+ if (mAltHasBeenUsedAsAModifier) {
+ return;
+ }
+ if (!mRichInputConnection.isConnected()) {
+ Log.w(TAG, "onKeyUp() : No connection to text view");
+ return;
}
+ onEmojiAltKeyDetected();
}
private static void onEmojiAltKeyDetected() {