diff options
| author | Gilles Debunne <debunne@google.com> | 2010-11-24 14:49:04 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-11-24 14:49:04 -0800 |
| commit | d9d618ffbc03b8340b62b7fdb446e4a0a19aa318 (patch) | |
| tree | c804bcffcfb36fe6379bb3b279ff6a758f05911b | |
| parent | 8af253a81b97848646af0fcd78b4ec58298e3fdc (diff) | |
| parent | 2880294cc6c7dad418b553f856b85aef112c6432 (diff) | |
| download | frameworks_base-d9d618ffbc03b8340b62b7fdb446e4a0a19aa318.zip frameworks_base-d9d618ffbc03b8340b62b7fdb446e4a0a19aa318.tar.gz frameworks_base-d9d618ffbc03b8340b62b7fdb446e4a0a19aa318.tar.bz2 | |
Merge "Lazily create the paste popup window."
| -rw-r--r-- | core/java/android/widget/TextView.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 215bb2b..5e4a514 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -8258,6 +8258,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private int mLastParentY; private int mContainerPositionX, mContainerPositionY; private long mTouchTimer; + private boolean mHasPastePopupWindow = false; private PastePopupMenu mPastePopupWindow; public static final int LEFT = 0; @@ -8310,7 +8311,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mDrawable = mSelectHandleCenter; handleWidth = mDrawable.getIntrinsicWidth(); mHotspotX = handleWidth / 2; - mPastePopupWindow = new PastePopupMenu(); + mHasPastePopupWindow = true; break; } } @@ -8478,9 +8479,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mLastParentX = coords[0]; mLastParentY = coords[1]; mIsDragging = true; - if (mPastePopupWindow != null) { + if (mHasPastePopupWindow) { mTouchTimer = SystemClock.uptimeMillis(); - if (mPastePopupWindow.isShowing()) { + if (mPastePopupWindow != null && mPastePopupWindow.isShowing()) { // Tapping on the handle again dismisses the displayed paste view, mPastePopupWindow.hide(); // and makes sure the action up does not display the paste view. @@ -8548,7 +8549,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } void showPastePopupWindow() { - if (mPastePopupWindow != null) { + if (mHasPastePopupWindow) { + if (mPastePopupWindow == null) { + // Lazy initialisation: create when actually shown only. + mPastePopupWindow = new PastePopupMenu(); + } mPastePopupWindow.show(); } } |
