aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java7
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java104
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java7
3 files changed, 61 insertions, 57 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 6dc13d24c..d7ce659e7 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -376,13 +376,12 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
R.styleable.KeyboardView_verticalCorrection, 0);
mMoreKeysLayout = a.getResourceId(R.styleable.KeyboardView_moreKeysLayout, 0);
mBackgroundDimAlpha = a.getInt(R.styleable.KeyboardView_backgroundDimAlpha, 0);
+ mPreviewPlacerView = new PreviewPlacerView(context, a);
a.recycle();
mDelayAfterPreview = mKeyPreviewDrawParams.mLingerTimeout;
mPaint.setAntiAlias(true);
-
- mPreviewPlacerView = new PreviewPlacerView(context);
}
// Read fraction value in TypedArray as float.
@@ -903,9 +902,9 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
windowContentView.addView(mPreviewPlacerView);
}
- public void showGesturePreviewText(String gesturePreviewText) {
+ public void showGestureFloatingPreviewText(String gestureFloatingPreviewText) {
locatePreviewPlacerView();
- mPreviewPlacerView.setGesturePreviewText(gesturePreviewText);
+ mPreviewPlacerView.setGestureFloatingPreviewText(gestureFloatingPreviewText);
}
@Override
diff --git a/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java b/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
index a400fda15..c38febf49 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
@@ -17,9 +17,8 @@
package com.android.inputmethod.keyboard.internal;
import android.content.Context;
-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.text.TextUtils;
@@ -30,60 +29,65 @@ import com.android.inputmethod.keyboard.PointerTracker;
import com.android.inputmethod.latin.R;
public class PreviewPlacerView extends RelativeLayout {
- // TODO: Move these parameters to attributes of {@link KeyboardView}.
- private final static int GESTURE_DRAWING_COLOR = 0xff33b5e5;
- private static final int GESTURE_PREVIEW_TEXT_COLOR = Color.WHITE;
- private static final int GESTURE_PREVIEW_TEXT_SHADING_COLOR = 0xff33b5e5;
- private static final int GESTURE_PREVIEW_TEXT_SHADOW_COLOR = 0xff252525;
- private static final int GESTURE_PREVIEW_CONNECTOR_COLOR = Color.WHITE;
-
private final Paint mGesturePaint;
- private final int mGesturePreviewTraileWidth;
private final Paint mTextPaint;
- private final int mGesturePreviewTextOffset;
- private final int mGesturePreviewTextShadowBorder;
- private final int mGesturePreviewTextShadingBorder;
- private final int mGesturePreviewTextConnectorWidth;
+ private final int mGestureFloatingPreviewTextColor;
+ private final int mGestureFloatingPreviewTextOffset;
+ private final int mGestureFloatingPreviewTextShadowColor;
+ private final int mGestureFloatingPreviewTextShadowBorder;
+ private final int mGestureFloatingPreviewTextShadingColor;
+ private final int mGestureFloatingPreviewTextShadingBorder;
+ private final int mGestureFloatingPreviewTextConnectorColor;
+ private final int mGestureFloatingPreviewTextConnectorWidth;
private int mXOrigin;
private int mYOrigin;
private final SparseArray<PointerTracker> mPointers = new SparseArray<PointerTracker>();
- private String mGesturePreviewText;
+ private String mGestureFloatingPreviewText;
private boolean mDrawsGesturePreviewTrail;
private boolean mDrawsGestureFloatingPreviewText;
- public PreviewPlacerView(Context context) {
+ public PreviewPlacerView(Context context, TypedArray keyboardViewAttr) {
super(context);
setWillNotDraw(false);
- final Resources res = getResources();
- // TODO: Move these parameters to attributes of {@link KeyboardView}.
- mGesturePreviewTraileWidth = res.getDimensionPixelSize(
- R.dimen.gesture_preview_trail_width);
- final int textSize = res.getDimensionPixelSize(R.dimen.gesture_preview_text_size);
- mGesturePreviewTextOffset = res.getDimensionPixelSize(
- R.dimen.gesture_preview_text_offset);
- mGesturePreviewTextShadowBorder = res.getDimensionPixelOffset(
- R.dimen.gesture_preview_text_shadow_border);
- mGesturePreviewTextShadingBorder = res.getDimensionPixelOffset(
- R.dimen.gesture_preview_text_shading_border);
- mGesturePreviewTextConnectorWidth = res.getDimensionPixelOffset(
- R.dimen.gesture_preview_text_connector_width);
+ final int gestureFloatingPreviewTextSize = keyboardViewAttr.getDimensionPixelSize(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextSize, 0);
+ mGestureFloatingPreviewTextColor = keyboardViewAttr.getColor(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextColor, 0);
+ mGestureFloatingPreviewTextOffset = keyboardViewAttr.getDimensionPixelOffset(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextOffset, 0);
+ mGestureFloatingPreviewTextShadowColor = keyboardViewAttr.getColor(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextShadowColor, 0);
+ mGestureFloatingPreviewTextShadowBorder = keyboardViewAttr.getDimensionPixelSize(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextShadowBorder, 0);
+ mGestureFloatingPreviewTextShadingColor = keyboardViewAttr.getColor(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextShadingColor, 0);
+ mGestureFloatingPreviewTextShadingBorder = keyboardViewAttr.getDimensionPixelSize(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextShadingBorder, 0);
+ mGestureFloatingPreviewTextConnectorColor = keyboardViewAttr.getColor(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextConnectorColor, 0);
+ mGestureFloatingPreviewTextConnectorWidth = keyboardViewAttr.getDimensionPixelSize(
+ R.styleable.KeyboardView_gestureFloatingPreviewTextConnectorWidth, 0);
+ final int gesturePreviewTrailColor = keyboardViewAttr.getColor(
+ R.styleable.KeyboardView_gesturePreviewTrailColor, 0);
+ final int gesturePreviewTrailWidth = keyboardViewAttr.getDimensionPixelSize(
+ R.styleable.KeyboardView_gesturePreviewTrailWidth, 0);
mGesturePaint = new Paint();
mGesturePaint.setAntiAlias(true);
mGesturePaint.setStyle(Paint.Style.STROKE);
mGesturePaint.setStrokeJoin(Paint.Join.ROUND);
- mGesturePaint.setColor(GESTURE_DRAWING_COLOR);
- mGesturePaint.setStrokeWidth(mGesturePreviewTraileWidth);
+ mGesturePaint.setColor(gesturePreviewTrailColor);
+ mGesturePaint.setStrokeWidth(gesturePreviewTrailWidth);
mTextPaint = new Paint();
mTextPaint.setAntiAlias(true);
mTextPaint.setStrokeJoin(Paint.Join.ROUND);
mTextPaint.setTextAlign(Align.CENTER);
- mTextPaint.setTextSize(textSize);
+ mTextPaint.setTextSize(gestureFloatingPreviewTextSize);
}
public void setOrigin(int x, int y) {
@@ -119,7 +123,7 @@ public class PreviewPlacerView extends RelativeLayout {
}
// TODO: Figure out more cleaner way to draw gesture preview text.
if (mDrawsGestureFloatingPreviewText && !hasDrawnFloatingPreviewText) {
- drawGesturePreviewText(canvas, tracker, mGesturePreviewText);
+ drawGestureFloatingPreviewText(canvas, tracker, mGestureFloatingPreviewText);
hasDrawnFloatingPreviewText = true;
}
}
@@ -127,14 +131,14 @@ public class PreviewPlacerView extends RelativeLayout {
}
}
- public void setGesturePreviewText(String gesturePreviewText) {
- mGesturePreviewText = gesturePreviewText;
+ public void setGestureFloatingPreviewText(String gestureFloatingPreviewText) {
+ mGestureFloatingPreviewText = gestureFloatingPreviewText;
invalidate();
}
- private void drawGesturePreviewText(Canvas canvas, PointerTracker tracker,
- String gesturePreviewText) {
- if (TextUtils.isEmpty(gesturePreviewText)) {
+ private void drawGestureFloatingPreviewText(Canvas canvas, PointerTracker tracker,
+ String gestureFloatingPreviewText) {
+ if (TextUtils.isEmpty(gestureFloatingPreviewText)) {
return;
}
@@ -144,22 +148,22 @@ public class PreviewPlacerView extends RelativeLayout {
final int textSize = (int)paint.getTextSize();
final int canvasWidth = canvas.getWidth();
- final int halfTextWidth = (int)paint.measureText(gesturePreviewText) / 2 + textSize;
+ final int halfTextWidth = (int)paint.measureText(gestureFloatingPreviewText) / 2 + textSize;
final int textX = Math.min(Math.max(lastX, halfTextWidth), canvasWidth - halfTextWidth);
- int textY = Math.max(-textSize, lastY - mGesturePreviewTextOffset);
+ int textY = Math.max(-textSize, lastY - mGestureFloatingPreviewTextOffset);
if (textY < 0) {
// Paint black text shadow if preview extends above keyboard region.
paint.setStyle(Paint.Style.FILL_AND_STROKE);
- paint.setColor(GESTURE_PREVIEW_TEXT_SHADOW_COLOR);
- paint.setStrokeWidth(mGesturePreviewTextShadowBorder);
- canvas.drawText(gesturePreviewText, textX, textY, paint);
+ paint.setColor(mGestureFloatingPreviewTextShadowColor);
+ paint.setStrokeWidth(mGestureFloatingPreviewTextShadowBorder);
+ canvas.drawText(gestureFloatingPreviewText, textX, textY, paint);
}
// Paint the vertical line connecting the touch point to the preview text.
paint.setStyle(Paint.Style.STROKE);
- paint.setColor(GESTURE_PREVIEW_CONNECTOR_COLOR);
- paint.setStrokeWidth(mGesturePreviewTextConnectorWidth);
+ paint.setColor(mGestureFloatingPreviewTextConnectorColor);
+ paint.setStrokeWidth(mGestureFloatingPreviewTextConnectorWidth);
final int lineTopY = textY - textSize / 4;
canvas.drawLine(lastX, lastY, lastX, lineTopY, paint);
if (lastX != textX) {
@@ -169,13 +173,13 @@ public class PreviewPlacerView extends RelativeLayout {
// Paint the shading for the text preview
paint.setStyle(Paint.Style.FILL_AND_STROKE);
- paint.setColor(GESTURE_PREVIEW_TEXT_SHADING_COLOR);
- paint.setStrokeWidth(mGesturePreviewTextShadingBorder);
- canvas.drawText(gesturePreviewText, textX, textY, paint);
+ paint.setColor(mGestureFloatingPreviewTextShadingColor);
+ paint.setStrokeWidth(mGestureFloatingPreviewTextShadingBorder);
+ canvas.drawText(gestureFloatingPreviewText, textX, textY, paint);
// Paint the text preview
- paint.setColor(GESTURE_PREVIEW_TEXT_COLOR);
+ paint.setColor(mGestureFloatingPreviewTextColor);
paint.setStyle(Paint.Style.FILL);
- canvas.drawText(gesturePreviewText, textX, textY, paint);
+ canvas.drawText(gestureFloatingPreviewText, textX, textY, paint);
}
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 22213be5e..95d75ebb7 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1363,9 +1363,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mWordComposer.setBatchInputPointers(batchPointers);
final SuggestedWords suggestedWords = getSuggestedWords();
showSuggestionStrip(suggestedWords, null);
- final String gesturePreviewText = (suggestedWords.size() > 0)
+ final String gestureFloatingPreviewText = (suggestedWords.size() > 0)
? suggestedWords.getWord(0) : null;
- mKeyboardSwitcher.getKeyboardView().showGesturePreviewText(gesturePreviewText);
+ mKeyboardSwitcher.getKeyboardView()
+ .showGestureFloatingPreviewText(gestureFloatingPreviewText);
}
@Override
@@ -1373,7 +1374,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mWordComposer.setBatchInputPointers(batchPointers);
final SuggestedWords suggestedWords = getSuggestedWords();
showSuggestionStrip(suggestedWords, null);
- mKeyboardSwitcher.getKeyboardView().showGesturePreviewText(null);
+ mKeyboardSwitcher.getKeyboardView().showGestureFloatingPreviewText(null);
if (suggestedWords == null || suggestedWords.size() == 0) {
return;
}