diff options
author | 2011-09-15 16:13:04 +0900 | |
---|---|---|
committer | 2011-09-15 17:40:44 +0900 | |
commit | a6d3a4d61b9655816128aa929331b7624476df64 (patch) | |
tree | 13b845ab3df585f7d355899519e16e1aa5e3a95b /java/src | |
parent | 7918ed016960908700582e47322e52d74c328cc7 (diff) | |
download | latinime-a6d3a4d61b9655816128aa929331b7624476df64.tar.gz latinime-a6d3a4d61b9655816128aa929331b7624476df64.tar.xz latinime-a6d3a4d61b9655816128aa929331b7624476df64.zip |
Make action key background more visually prominent
Bug: 5232726
Change-Id: I76ff2fb431ca295693ceb231a0f13da44f9293e6
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Key.java | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index c4d5e857d..9959a78f9 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -107,6 +107,7 @@ public class Key { public final int mBackgroundType; public static final int BACKGROUND_TYPE_NORMAL = 0; public static final int BACKGROUND_TYPE_FUNCTIONAL = 1; + public static final int BACKGROUND_TYPE_ACTION = 2; /** Whether this key repeats itself when held down */ public final boolean mRepeatable; @@ -163,6 +164,17 @@ public class Key { android.R.attr.state_pressed }; + // action normal state (with properties) + private static final int[] KEY_STATE_ACTIVE_NORMAL = { + android.R.attr.state_active + }; + + // action pressed state (with properties) + private static final int[] KEY_STATE_ACTIVE_PRESSED = { + android.R.attr.state_active, + android.R.attr.state_pressed + }; + // RTL parenthesis character swapping map. private static final Map<Integer, Integer> sRtlParenthesisMap = new HashMap<Integer, Integer>(); @@ -545,36 +557,24 @@ public class Key { */ public int[] getCurrentDrawableState() { final boolean pressed = mPressed; - if (!mSticky && mBackgroundType == BACKGROUND_TYPE_FUNCTIONAL) { - if (pressed) { - return KEY_STATE_FUNCTIONAL_PRESSED; + + // TODO: "Sticky" should be one of backgroundType. + if (mSticky) { + if (mHighlightOn) { + return pressed ? KEY_STATE_PRESSED_ON : KEY_STATE_NORMAL_ON; } else { - return KEY_STATE_FUNCTIONAL_NORMAL; + return pressed ? KEY_STATE_PRESSED_OFF : KEY_STATE_NORMAL_OFF; } } - int[] states = KEY_STATE_NORMAL; - - if (mHighlightOn) { - if (pressed) { - states = KEY_STATE_PRESSED_ON; - } else { - states = KEY_STATE_NORMAL_ON; - } - } else { - if (mSticky) { - if (pressed) { - states = KEY_STATE_PRESSED_OFF; - } else { - states = KEY_STATE_NORMAL_OFF; - } - } else { - if (pressed) { - states = KEY_STATE_PRESSED; - } - } + switch (mBackgroundType) { + case BACKGROUND_TYPE_FUNCTIONAL: + return pressed ? KEY_STATE_FUNCTIONAL_PRESSED : KEY_STATE_FUNCTIONAL_NORMAL; + case BACKGROUND_TYPE_ACTION: + return pressed ? KEY_STATE_ACTIVE_PRESSED : KEY_STATE_ACTIVE_NORMAL; + default: /* BACKGROUND_TYPE_NORMAL */ + return pressed ? KEY_STATE_PRESSED : KEY_STATE_NORMAL; } - return states; } public static class Spacer extends Key { |