diff options
author | 2015-02-26 11:10:37 -0800 | |
---|---|---|
committer | 2015-02-26 11:10:37 -0800 | |
commit | edd94a449e293c07779ac50e98aca3ad92910d92 (patch) | |
tree | 34d42756e7198a220f69d607fc571f806e622a20 /java/src/com/android/inputmethod/latin/EmojiAltPhysicalKeyDetector.java | |
parent | 48b071249cd662a5448ae0178e16b0b5026ee4cf (diff) | |
download | latinime-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.java | 18 |
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() { |