From edaaa3023251eb2bd71e3da180df39334f77d4a8 Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Tue, 1 Oct 2013 17:33:27 -0700 Subject: [PATCH] Ensuring launcher is always setting "interactionBegin/End" where appropriate (issue 11030735) Change-Id: I16f4f6a19cdc92af6b817a658dc32e082f08660c --- src/com/android/launcher3/Launcher.java | 3 +-- src/com/android/launcher3/Workspace.java | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 831637ffa7..a9cb771402 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -911,6 +911,7 @@ public class Launcher extends Activity if (DEBUG_RESUME_TIME) { Log.d(TAG, "Time spent in onResume: " + (System.currentTimeMillis() - startTime)); } + mWorkspace.updateInteractionForState(); } @Override @@ -3072,7 +3073,6 @@ public class Launcher extends Activity .sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); onWorkspaceShown(animated); - onInteractionEnd(); } public void onWorkspaceShown(boolean animated) { @@ -3087,7 +3087,6 @@ public class Launcher extends Activity // Change the state *after* we've called all the transition code mState = State.APPS_CUSTOMIZE; - onInteractionBegin(); // Pause the auto-advance of widgets until we are out of AllApps mUserPresent = false; diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index ea348ef8ab..02d4fff7b5 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1780,19 +1780,16 @@ public class Workspace extends SmoothPagedView if (mTouchState != TOUCH_STATE_REST) { return false; } - mLauncher.onInteractionBegin(); enableOverviewMode(true, -1, true); return true; } public void exitOverviewMode(boolean animated) { exitOverviewMode(-1, animated); - mLauncher.onInteractionEnd(); } public void exitOverviewMode(int snapPage, boolean animated) { enableOverviewMode(false, snapPage, animated); - mLauncher.onInteractionEnd(); } private void enableOverviewMode(boolean enable, int snapPage, boolean animated) { @@ -1835,6 +1832,19 @@ public class Workspace extends SmoothPagedView return true; } + public void updateInteractionForState() { + if (mState != State.NORMAL) { + mLauncher.onInteractionBegin(); + } else { + mLauncher.onInteractionEnd(); + } + } + + private void setState(State state) { + mState = state; + updateInteractionForState(); + } + Animator getChangeStateAnimation(final State state, boolean animated, int delay, int snapPage) { if (mState == state) { return null; @@ -1850,7 +1860,7 @@ public class Workspace extends SmoothPagedView final boolean oldStateIsSpringLoaded = (oldState == State.SPRING_LOADED); final boolean oldStateIsSmall = (oldState == State.SMALL); final boolean oldStateIsOverview = (oldState == State.OVERVIEW); - mState = state; + setState(state); final boolean stateIsNormal = (state == State.NORMAL); final boolean stateIsSpringLoaded = (state == State.SPRING_LOADED); final boolean stateIsSmall = (state == State.SMALL);