diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index a6c439294d48f9f5b5f4cbddb594604c22888a7a..b9c591d4a7ae28599de1de0324218cff55f5db21 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -888,23 +888,26 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { mDrawingHandler.dismissKeyPreview(mDelayAfterPreview, tracker); } - private static class PreviewView extends RelativeLayout { - KeyPreviewDrawParams mParams; - Paint mGesturePaint; + private static class PreviewPlacerView extends RelativeLayout { + private final Paint mGesturePaint; + final int mCoordinateX; + final int mCoordinateY; - public PreviewView(Context context, KeyPreviewDrawParams params, Paint gesturePaint) { + public PreviewPlacerView(Context context, int coordinateX, int coordinateY, + Paint gesturePaint) { super(context); setWillNotDraw(false); - mParams = params; mGesturePaint = gesturePaint; + mCoordinateX = coordinateX; + mCoordinateY = coordinateY; } @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); - canvas.translate(mParams.mCoordinates[0], mParams.mCoordinates[1]); + canvas.translate(mCoordinateX, mCoordinateY); PointerTracker.drawGestureTrailForAllPointerTrackers(canvas, mGesturePaint); - canvas.translate(-mParams.mCoordinates[0], -mParams.mCoordinates[1]); + canvas.translate(-mCoordinateX, -mCoordinateY); } } @@ -917,7 +920,9 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } private void createPreviewPlacer() { - mPreviewPlacer = new PreviewView(getContext(), mKeyPreviewDrawParams, mGesturePaint); + getLocationInWindow(mKeyPreviewDrawParams.mCoordinates); + mPreviewPlacer = new PreviewPlacerView(getContext(), mKeyPreviewDrawParams.mCoordinates[0], + mKeyPreviewDrawParams.mCoordinates[1], mGesturePaint); final ViewGroup windowContentView = (ViewGroup)getRootView().findViewById(android.R.id.content); windowContentView.addView(mPreviewPlacer);