diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index ee7f9f805c..3180f27225 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -1372,8 +1372,12 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc dampedOverScroll(amount); } - public void enableFreeScroll() { + /** + * return true if freescroll has been enabled, false otherwise + */ + public boolean enableFreeScroll() { setEnableFreeScroll(true); + return true; } public void disableFreeScroll() { @@ -2074,20 +2078,14 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc if (!mReorderingStarted) return; mReorderingStarted = false; - // If we haven't flung-to-delete the current child, then we just animate the drag view - // back into position - final Runnable onCompleteRunnable = new Runnable() { - @Override - public void run() { - onEndReordering(); - } - }; - mPostReorderingPreZoomInRunnable = new Runnable() { public void run() { - onCompleteRunnable.run(); + // If we haven't flung-to-delete the current child, + // then we just animate the drag view back into position + onEndReordering(); + enableFreeScroll(); - }; + } }; mPostReorderingPreZoomInRemainingAnimationCount = diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 43a1a2252a..8280ea5aac 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -4115,6 +4115,16 @@ public class Workspace extends PagedView } } + @Override + public boolean enableFreeScroll() { + if (getState() == State.OVERVIEW) { + return super.enableFreeScroll(); + } else { + Log.w(TAG, "enableFreeScroll called but not in overview: state=" + getState()); + return false; + } + } + /** * Used as a workaround to ensure that the AppWidgetService receives the * PACKAGE_ADDED broadcast before updating widgets.