aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-11-13 00:16:34 -0800
committerTadashi G. Takaoka <takaoka@google.com>2010-11-16 13:45:49 -0800
commit10227a71a047706a2290ff0b57f3437d5add7b35 (patch)
tree797d975d605282b91447e278f615051d44867cff /java/src/com/android/inputmethod/latin/BaseKeyboardView.java
parentc1e2e827b5d1bba59eb99d322dc101657ec28768 (diff)
downloadlatinime-10227a71a047706a2290ff0b57f3437d5add7b35.tar.gz
latinime-10227a71a047706a2290ff0b57f3437d5add7b35.tar.xz
latinime-10227a71a047706a2290ff0b57f3437d5add7b35.zip
Implement temporary upper case hint icon
This change partially implements the requested feature. The following are not supported yet. - Non-letter key handling on automatic temporary upper case layout. - Non-letter key handling on shift chording in caps lock layout. - Hint icons for manual temporary upper case layout are not final ones. Bug: 3193390 Change-Id: I636da99d1be05b1337935d87c6f4d140661e1cc8
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BaseKeyboardView.java')
-rw-r--r--java/src/com/android/inputmethod/latin/BaseKeyboardView.java18
1 files changed, 6 insertions, 12 deletions
diff --git a/java/src/com/android/inputmethod/latin/BaseKeyboardView.java b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
index a31785f50..f2edd6b04 100644
--- a/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
+++ b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
@@ -772,6 +772,8 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
final int kbdPaddingTop = getPaddingTop();
final Key[] keys = mKeys;
final Key invalidKey = mInvalidatedKey;
+ final boolean isTemporaryUpperCase = (mKeyboard instanceof LatinKeyboard
+ && ((LatinKeyboard)mKeyboard).isTemporaryUpperCase());
paint.setColor(mKeyTextColor);
boolean drawSingleKey = false;
@@ -807,17 +809,6 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
boolean drawHintIcon = true;
if (label != null) {
- // If keyboard is multi-touch capable and in temporary upper case state and key has
- // tempoarary shift label, label should be hint character and hint icon should not
- // be drawn.
- if (mHasDistinctMultitouch
- && mKeyboard instanceof LatinKeyboard
- && ((LatinKeyboard)mKeyboard).isTemporaryUpperCase()
- && key.temporaryShiftLabel != null) {
- label = key.temporaryShiftLabel.toString();
- drawHintIcon = false;
- }
-
// For characters, use large font. For labels like "Done", use small font.
final int labelSize;
if (label.length() > 1 && key.codes.length < 2) {
@@ -862,7 +853,10 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
int drawableHeight = key.height;
int drawableX = 0;
int drawableY = HINT_ICON_VERTICAL_ADJUSTMENT_PIXEL;
- drawIcon(canvas, key.hintIcon, drawableX, drawableY, drawableWidth, drawableHeight);
+ Drawable icon = (isTemporaryUpperCase
+ && key.manualTemporaryUpperCaseHintIcon != null)
+ ? key.manualTemporaryUpperCaseHintIcon : key.hintIcon;
+ drawIcon(canvas, icon, drawableX, drawableY, drawableWidth, drawableHeight);
}
canvas.translate(-key.x - kbdPaddingLeft, -key.y - kbdPaddingTop);
}