Move dimming keyboard to MainKeyboardView
Change-Id: Id44d4b758c8b92d1120d3a8b06812dc1fc26390cmain
parent
bde94dd96f
commit
f3c4cd45a5
|
@ -58,8 +58,6 @@
|
|||
|
||||
<!-- Amount to offset the touch Y coordinate by, for bias correction. -->
|
||||
<attr name="verticalCorrection" format="dimension" />
|
||||
|
||||
<attr name="backgroundDimAlpha" format="integer" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="MainKeyboardView">
|
||||
|
@ -105,6 +103,7 @@
|
|||
<attr name="keyPreviewLingerTimeout" format="integer" />
|
||||
<!-- Layout resource for more keys keyboard -->
|
||||
<attr name="moreKeysKeyboardLayout" format="reference" />
|
||||
<attr name="backgroundDimAlpha" format="integer" />
|
||||
<!-- More keys keyboard will shown at touched point. -->
|
||||
<attr name="showMoreKeysKeyboardAtTouchedPoint" format="boolean" />
|
||||
<!-- Delay after gesture trail starts fading out in millisecond. -->
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue