Loading java/src/com/android/inputmethod/keyboard/KeyboardView.java +28 −9 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { // Key preview private final int mKeyPreviewLayoutId; private final SparseArray<TextView> mKeyPreviewTexts = CollectionUtils.newSparseArray(); protected final KeyPreviewDrawParams mKeyPreviewDrawParams; private boolean mShowKeyPreviewPopup = true; private int mDelayAfterPreview; Loading Loading @@ -152,7 +153,10 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { final PointerTracker tracker = (PointerTracker) msg.obj; switch (msg.what) { case MSG_DISMISS_KEY_PREVIEW: tracker.getKeyPreviewText().setVisibility(View.INVISIBLE); final TextView previewText = keyboardView.mKeyPreviewTexts.get(tracker.mPointerId); if (previewText != null) { previewText.setVisibility(INVISIBLE); } break; } } Loading @@ -165,7 +169,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { removeMessages(MSG_DISMISS_KEY_PREVIEW, tracker); } public void cancelAllDismissKeyPreviews() { private void cancelAllDismissKeyPreviews() { removeMessages(MSG_DISMISS_KEY_PREVIEW); } Loading Loading @@ -907,15 +911,30 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } } // Called by {@link PointerTracker} constructor to create a TextView. @Override public TextView inflateKeyPreviewText() { private TextView getKeyPreviewText(final int pointerId) { TextView previewText = mKeyPreviewTexts.get(pointerId); if (previewText != null) { return previewText; } final Context context = getContext(); if (mKeyPreviewLayoutId != 0) { return (TextView)LayoutInflater.from(context).inflate(mKeyPreviewLayoutId, null); previewText = (TextView)LayoutInflater.from(context).inflate(mKeyPreviewLayoutId, null); } else { return new TextView(context); previewText = new TextView(context); } mKeyPreviewTexts.put(pointerId, previewText); return previewText; } private void dismissAllKeyPreviews() { final int pointerCount = mKeyPreviewTexts.size(); for (int id = 0; id < pointerCount; id++) { final TextView previewText = mKeyPreviewTexts.get(id); if (previewText != null) { previewText.setVisibility(INVISIBLE); } } PointerTracker.setReleasedKeyGraphicsToAllKeys(); } @Override Loading Loading @@ -971,7 +990,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { public void showKeyPreview(PointerTracker tracker) { if (!mShowKeyPreviewPopup) return; final TextView previewText = tracker.getKeyPreviewText(); final TextView previewText = getKeyPreviewText(tracker.mPointerId); // If the key preview has no parent view yet, add it to the ViewGroup which can place // key preview absolutely in SoftInputWindow. if (previewText.getParent() == null) { Loading Loading @@ -1082,7 +1101,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } public void closing() { PointerTracker.dismissAllKeyPreviews(); dismissAllKeyPreviews(); cancelAllMessages(); mInvalidateAllKeys = true; Loading java/src/com/android/inputmethod/keyboard/PointerTracker.java +1 −11 Original line number Diff line number Diff line Loading @@ -21,8 +21,6 @@ import android.graphics.Paint; import android.os.SystemClock; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.keyboard.internal.GestureStroke; Loading Loading @@ -79,7 +77,6 @@ public class PointerTracker implements PointerTrackerQueue.Element { public interface DrawingProxy extends MoreKeysPanel.Controller { public void invalidateKey(Key key); public TextView inflateKeyPreviewText(); public void showKeyPreview(PointerTracker tracker); public void dismissKeyPreview(PointerTracker tracker); public void showGestureTrail(PointerTracker tracker); Loading Loading @@ -140,7 +137,6 @@ public class PointerTracker implements PointerTrackerQueue.Element { private Keyboard mKeyboard; private int mKeyQuarterWidthSquared; private final TextView mKeyPreviewText; private boolean mIsAlphabetKeyboard; private boolean mIsPossibleGesture = false; Loading Loading @@ -261,11 +257,10 @@ public class PointerTracker implements PointerTrackerQueue.Element { updateGestureHandlingMode(); } public static void dismissAllKeyPreviews() { public static void setReleasedKeyGraphicsToAllKeys() { final int trackersSize = sTrackers.size(); for (int i = 0; i < trackersSize; ++i) { final PointerTracker tracker = sTrackers.get(i); tracker.getKeyPreviewText().setVisibility(View.INVISIBLE); tracker.setReleasedKeyGraphics(tracker.mCurrentKey); } } Loading Loading @@ -312,11 +307,6 @@ public class PointerTracker implements PointerTrackerQueue.Element { mListener = handler.getKeyboardActionListener(); mDrawingProxy = handler.getDrawingProxy(); mTimerProxy = handler.getTimerProxy(); mKeyPreviewText = mDrawingProxy.inflateKeyPreviewText(); } public TextView getKeyPreviewText() { return mKeyPreviewText; } // Returns true if keyboard has been changed by this callback. Loading Loading
java/src/com/android/inputmethod/keyboard/KeyboardView.java +28 −9 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { // Key preview private final int mKeyPreviewLayoutId; private final SparseArray<TextView> mKeyPreviewTexts = CollectionUtils.newSparseArray(); protected final KeyPreviewDrawParams mKeyPreviewDrawParams; private boolean mShowKeyPreviewPopup = true; private int mDelayAfterPreview; Loading Loading @@ -152,7 +153,10 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { final PointerTracker tracker = (PointerTracker) msg.obj; switch (msg.what) { case MSG_DISMISS_KEY_PREVIEW: tracker.getKeyPreviewText().setVisibility(View.INVISIBLE); final TextView previewText = keyboardView.mKeyPreviewTexts.get(tracker.mPointerId); if (previewText != null) { previewText.setVisibility(INVISIBLE); } break; } } Loading @@ -165,7 +169,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { removeMessages(MSG_DISMISS_KEY_PREVIEW, tracker); } public void cancelAllDismissKeyPreviews() { private void cancelAllDismissKeyPreviews() { removeMessages(MSG_DISMISS_KEY_PREVIEW); } Loading Loading @@ -907,15 +911,30 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } } // Called by {@link PointerTracker} constructor to create a TextView. @Override public TextView inflateKeyPreviewText() { private TextView getKeyPreviewText(final int pointerId) { TextView previewText = mKeyPreviewTexts.get(pointerId); if (previewText != null) { return previewText; } final Context context = getContext(); if (mKeyPreviewLayoutId != 0) { return (TextView)LayoutInflater.from(context).inflate(mKeyPreviewLayoutId, null); previewText = (TextView)LayoutInflater.from(context).inflate(mKeyPreviewLayoutId, null); } else { return new TextView(context); previewText = new TextView(context); } mKeyPreviewTexts.put(pointerId, previewText); return previewText; } private void dismissAllKeyPreviews() { final int pointerCount = mKeyPreviewTexts.size(); for (int id = 0; id < pointerCount; id++) { final TextView previewText = mKeyPreviewTexts.get(id); if (previewText != null) { previewText.setVisibility(INVISIBLE); } } PointerTracker.setReleasedKeyGraphicsToAllKeys(); } @Override Loading Loading @@ -971,7 +990,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { public void showKeyPreview(PointerTracker tracker) { if (!mShowKeyPreviewPopup) return; final TextView previewText = tracker.getKeyPreviewText(); final TextView previewText = getKeyPreviewText(tracker.mPointerId); // If the key preview has no parent view yet, add it to the ViewGroup which can place // key preview absolutely in SoftInputWindow. if (previewText.getParent() == null) { Loading Loading @@ -1082,7 +1101,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } public void closing() { PointerTracker.dismissAllKeyPreviews(); dismissAllKeyPreviews(); cancelAllMessages(); mInvalidateAllKeys = true; Loading
java/src/com/android/inputmethod/keyboard/PointerTracker.java +1 −11 Original line number Diff line number Diff line Loading @@ -21,8 +21,6 @@ import android.graphics.Paint; import android.os.SystemClock; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.keyboard.internal.GestureStroke; Loading Loading @@ -79,7 +77,6 @@ public class PointerTracker implements PointerTrackerQueue.Element { public interface DrawingProxy extends MoreKeysPanel.Controller { public void invalidateKey(Key key); public TextView inflateKeyPreviewText(); public void showKeyPreview(PointerTracker tracker); public void dismissKeyPreview(PointerTracker tracker); public void showGestureTrail(PointerTracker tracker); Loading Loading @@ -140,7 +137,6 @@ public class PointerTracker implements PointerTrackerQueue.Element { private Keyboard mKeyboard; private int mKeyQuarterWidthSquared; private final TextView mKeyPreviewText; private boolean mIsAlphabetKeyboard; private boolean mIsPossibleGesture = false; Loading Loading @@ -261,11 +257,10 @@ public class PointerTracker implements PointerTrackerQueue.Element { updateGestureHandlingMode(); } public static void dismissAllKeyPreviews() { public static void setReleasedKeyGraphicsToAllKeys() { final int trackersSize = sTrackers.size(); for (int i = 0; i < trackersSize; ++i) { final PointerTracker tracker = sTrackers.get(i); tracker.getKeyPreviewText().setVisibility(View.INVISIBLE); tracker.setReleasedKeyGraphics(tracker.mCurrentKey); } } Loading Loading @@ -312,11 +307,6 @@ public class PointerTracker implements PointerTrackerQueue.Element { mListener = handler.getKeyboardActionListener(); mDrawingProxy = handler.getDrawingProxy(); mTimerProxy = handler.getTimerProxy(); mKeyPreviewText = mDrawingProxy.inflateKeyPreviewText(); } public TextView getKeyPreviewText() { return mKeyPreviewText; } // Returns true if keyboard has been changed by this callback. Loading