aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-01-21 16:36:25 +0900
committerTadashi G. Takaoka <takaoka@google.com>2013-01-21 16:54:08 +0900
commitf3c4cd45a5df6f90b922ea44db259e53117bb25a (patch)
tree32fbded4295230394ae4c4b9b3ba27160a84750e /java/src/com/android
parentbde94dd96f6dbceeb0a00cb02dfc8064bd6c46fa (diff)
downloadlatinime-f3c4cd45a5df6f90b922ea44db259e53117bb25a.tar.gz
latinime-f3c4cd45a5df6f90b922ea44db259e53117bb25a.tar.xz
latinime-f3c4cd45a5df6f90b922ea44db259e53117bb25a.zip
Move dimming keyboard to MainKeyboardView
Change-Id: Id44d4b758c8b92d1120d3a8b06812dc1fc26390c
Diffstat (limited to 'java/src/com/android')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java26
-rw-r--r--java/src/com/android/inputmethod/keyboard/MainKeyboardView.java26
2 files changed, 27 insertions, 25 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 54c3e7c91..670564c39 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -52,7 +52,6 @@ import java.util.HashSet;
* @attr ref R.styleable#KeyboardView_keyPopupHintLetterPadding
* @attr ref R.styleable#KeyboardView_keyShiftedLetterHintPadding
* @attr ref R.styleable#KeyboardView_keyTextShadowRadius
- * @attr ref R.styleable#KeyboardView_backgroundDimAlpha
* @attr ref R.styleable#KeyboardView_verticalCorrection
* @attr ref R.styleable#Keyboard_Key_keyTypeface
* @attr ref R.styleable#Keyboard_Key_keyLetterSize
@@ -83,7 +82,6 @@ public class KeyboardView extends View {
protected final float mVerticalCorrection;
protected final Drawable mKeyBackground;
protected final Rect mKeyBackgroundPadding = new Rect();
- private final int mBackgroundDimAlpha;
// HORIZONTAL ELLIPSIS "...", character for popup hint.
private static final String POPUP_HINT_CHAR = "\u2026";
@@ -101,8 +99,6 @@ public class KeyboardView extends View {
protected final KeyDrawParams mKeyDrawParams = new KeyDrawParams();
// Drawing
- /** True if the entire keyboard needs to be dimmed. */
- private boolean mNeedsToDimEntireKeyboard;
/** True if all keys should be drawn */
private boolean mInvalidateAllKeys;
/** The keys that should be drawn */
@@ -147,8 +143,6 @@ public class KeyboardView extends View {
R.styleable.KeyboardView_keyTextShadowRadius, 0.0f);
mVerticalCorrection = keyboardViewAttr.getDimension(
R.styleable.KeyboardView_verticalCorrection, 0);
- mBackgroundDimAlpha = keyboardViewAttr.getInt(
- R.styleable.KeyboardView_backgroundDimAlpha, 0);
keyboardViewAttr.recycle();
final TypedArray keyAttr = context.obtainStyledAttributes(attrs,
@@ -203,7 +197,7 @@ public class KeyboardView extends View {
}
@Override
- public void onDraw(final Canvas canvas) {
+ protected void onDraw(final Canvas canvas) {
super.onDraw(canvas);
if (canvas.isHardwareAccelerated()) {
onDrawKeyboard(canvas);
@@ -293,15 +287,6 @@ public class KeyboardView extends View {
}
}
- // TODO: Move this code block to MainKeyboardView.onDraw
- // Overlay a dark rectangle to dim.
- if (mNeedsToDimEntireKeyboard) {
- paint.setColor(Color.BLACK);
- paint.setAlpha(mBackgroundDimAlpha);
- // Note: clipRegion() above is in effect if it was called.
- canvas.drawRect(0, 0, width, height, paint);
- }
-
// ResearchLogging indicator.
// TODO: Reimplement using a keyboard background image specific to the ResearchLogger,
// and remove this call.
@@ -313,15 +298,6 @@ public class KeyboardView extends View {
mInvalidateAllKeys = false;
}
- // TODO: Move this method to MainKeyboardView.
- public void dimEntireKeyboard(final boolean dimmed) {
- final boolean needsRedrawing = mNeedsToDimEntireKeyboard != dimmed;
- mNeedsToDimEntireKeyboard = dimmed;
- if (needsRedrawing) {
- invalidateAllKeys();
- }
- }
-
private void onDrawKey(final Key key, final Canvas canvas, final Paint paint) {
final int keyDrawX = key.getDrawX() + getPaddingLeft();
final int keyDrawY = key.mY + getPaddingTop();
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 83b37f1b1..ba9cb1f1e 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -24,6 +24,7 @@ import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Canvas;
+import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Align;
import android.graphics.Typeface;
@@ -98,6 +99,7 @@ import java.util.WeakHashMap;
* @attr ref R.styleable#MainKeyboardView_keyPreviewHeight
* @attr ref R.styleable#MainKeyboardView_keyPreviewLingerTimeout
* @attr ref R.styleable#MainKeyboardView_moreKeysKeyboardLayout
+ * @attr ref R.styleable#MainKeyboardView_backgroundDimAlpha
* @attr ref R.styleable#MainKeyboardView_showMoreKeysKeyboardAtTouchPoint
* @attr ref R.styleable#MainKeyboardView_gestureFloatingPreviewTextLingerTimeout
* @attr ref R.styleable#MainKeyboardView_gestureStaticTimeThresholdAfterFastTyping
@@ -164,6 +166,8 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
private int mKeyPreviewLingerTimeout;
// More keys keyboard
+ private final Paint mBackgroundDimAlphaPaint = new Paint();
+ private boolean mNeedsToDimEntireKeyboard;
private final WeakHashMap<Key, MoreKeysPanel> mMoreKeysPanelCache =
new WeakHashMap<Key, MoreKeysPanel>();
private final int mMoreKeysLayout;
@@ -492,6 +496,10 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
final TypedArray mainKeyboardViewAttr = context.obtainStyledAttributes(
attrs, R.styleable.MainKeyboardView, defStyle, R.style.MainKeyboardView);
+ final int backgroundDimAlpha = mainKeyboardViewAttr.getInt(
+ R.styleable.MainKeyboardView_backgroundDimAlpha, 0);
+ mBackgroundDimAlphaPaint.setColor(Color.BLACK);
+ mBackgroundDimAlphaPaint.setAlpha(backgroundDimAlpha);
mAutoCorrectionSpacebarLedEnabled = mainKeyboardViewAttr.getBoolean(
R.styleable.MainKeyboardView_autoCorrectionSpacebarLedEnabled, false);
mAutoCorrectionSpacebarLedIcon = mainKeyboardViewAttr.getDrawable(
@@ -1306,6 +1314,24 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
invalidateKey(mSpaceKey);
}
+ public void dimEntireKeyboard(final boolean dimmed) {
+ final boolean needsRedrawing = mNeedsToDimEntireKeyboard != dimmed;
+ mNeedsToDimEntireKeyboard = dimmed;
+ if (needsRedrawing) {
+ invalidateAllKeys();
+ }
+ }
+
+ @Override
+ protected void onDraw(final Canvas canvas) {
+ super.onDraw(canvas);
+
+ // Overlay a dark rectangle to dim.
+ if (mNeedsToDimEntireKeyboard) {
+ canvas.drawRect(0, 0, getWidth(), getHeight(), mBackgroundDimAlphaPaint);
+ }
+ }
+
@Override
protected void onDrawKeyTopVisuals(final Key key, final Canvas canvas, final Paint paint,
final KeyDrawParams params) {