summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2010-11-24 14:49:04 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-11-24 14:49:04 -0800
commitd9d618ffbc03b8340b62b7fdb446e4a0a19aa318 (patch)
treec804bcffcfb36fe6379bb3b279ff6a758f05911b
parent8af253a81b97848646af0fcd78b4ec58298e3fdc (diff)
parent2880294cc6c7dad418b553f856b85aef112c6432 (diff)
downloadframeworks_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.java13
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();
}
}