From 5a2edd65f2ca3d83b1672835831e2f5b2f16ab82 Mon Sep 17 00:00:00 2001 From: Mario Bertschler Date: Mon, 30 Jan 2017 17:47:30 -0800 Subject: [PATCH] Fixes a bug where the workspace doesn't properly enter into freescroll mode hence the overscroll will appear and you can wrongly enter into the -1 screen. The problem was that the state value in the workspace was set after enabling free scroll, but enabling free scroll checks the current state for validation. This bug was introduced by Icc3005fd431569e2b9e3f52d2249de8ba8d13eab. Bug: 34817798 Change-Id: I46802c93c49a2ae8ee5c40ef24e465d7fe63c4bb --- src/com/android/launcher3/Workspace.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 72dff66867..d2008a6a68 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2042,14 +2042,18 @@ public class Workspace extends PagedView */ public Animator setStateWithAnimation(State toState, boolean animated, AnimationLayerSet layerViews) { - // Create the animation to the new state - AnimatorSet workspaceAnim = mStateTransitionAnimation.getAnimationToState(mState, - toState, animated, layerViews); + final State fromState = mState; - boolean shouldNotifyWidgetChange = !mState.shouldUpdateWidget - && toState.shouldUpdateWidget; // Update the current state mState = toState; + + // Create the animation to the new state + AnimatorSet workspaceAnim = mStateTransitionAnimation.getAnimationToState(fromState, + toState, animated, layerViews); + + boolean shouldNotifyWidgetChange = !fromState.shouldUpdateWidget + && toState.shouldUpdateWidget; + updateAccessibilityFlags(); if (shouldNotifyWidgetChange) {