diff options
author | Adam Cohen <adamcohen@google.com> | 2011-03-22 15:33:33 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2011-03-22 15:35:27 -0700 |
commit | 26976d9b53161f80faf822d482ac771b8621cf31 (patch) | |
tree | 8eeb03a27fd88947c721fb853457b0c019b41b27 /src/com | |
parent | 3fb17bb2326c1ee60dec7d3ae3c4c06f11716c3c (diff) | |
download | android_packages_apps_Trebuchet-26976d9b53161f80faf822d482ac771b8621cf31.tar.gz android_packages_apps_Trebuchet-26976d9b53161f80faf822d482ac771b8621cf31.tar.bz2 android_packages_apps_Trebuchet-26976d9b53161f80faf822d482ac771b8621cf31.zip |
Fix resize frame bug: 4121297
Change-Id: I797c9af3ed0a0c99407c301e68d20485e108980c
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/launcher2/PagedView.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 17 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java index 1da08cdf8..9a0b79c2f 100644 --- a/src/com/android/launcher2/PagedView.java +++ b/src/com/android/launcher2/PagedView.java @@ -289,6 +289,10 @@ public abstract class PagedView extends ViewGroup { mIsPageMoving = false; } + protected boolean isPageMoving() { + return mIsPageMoving; + } + // a method that subclasses can override to add behavior protected void onPageBeginMoving() { } diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 2e202f766..6b68c5ab7 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -213,6 +213,7 @@ public class Workspace extends SmoothPagedView WallpaperOffsetInterpolator mWallpaperOffset; boolean mUpdateWallpaperOffsetImmediately = false; boolean mSyncWallpaperOffsetWithScroll = true; + private Runnable mDelayedResizeRunnable; // info about the last drag private DragView mLastDragView; @@ -645,6 +646,11 @@ public class Workspace extends SmoothPagedView } mOverScrollMaxBackgroundAlpha = 0.0f; mOverScrollPageIndex = -1; + + if (mDelayedResizeRunnable != null) { + mDelayedResizeRunnable.run(); + mDelayedResizeRunnable = null; + } } @Override @@ -2366,13 +2372,22 @@ public class Workspace extends SmoothPagedView final LauncherAppWidgetHostView hostView = (LauncherAppWidgetHostView) cell; AppWidgetProviderInfo pinfo = hostView.getAppWidgetInfo(); if (pinfo.resizeMode != AppWidgetProviderInfo.RESIZE_NONE) { - post(new Runnable() { + final Runnable resizeRunnable = new Runnable() { public void run() { DragLayer dragLayer = (DragLayer) mLauncher.findViewById(R.id.drag_layer); dragLayer.addResizeFrame(info, hostView, cellLayout); } + }; + post(new Runnable() { + public void run() { + if (!isPageMoving()) { + resizeRunnable.run(); + } else { + mDelayedResizeRunnable = resizeRunnable; + } + } }); } } |