From 6b6d0a397276f581569b1968656af76c4ee47109 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 5 Aug 2019 17:19:32 -0700 Subject: Fix DEFER_UPDATES_NEXT_DRAW flag is not unset when binging happens twice Bug: 138646754 Change-Id: I76eccdb812013299e18f197ba17ff858a01a6338 --- src/com/android/launcher3/Launcher.java | 8 +++++--- src/com/android/launcher3/allapps/AllAppsStore.java | 4 ++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 03fdc971d..5b38261a4 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1896,6 +1896,10 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, if (mPendingExecutor != null) { mPendingExecutor.markCompleted(); mPendingExecutor = null; + + // We might have set this flag previously and forgot to clear it. + mAppsView.getAppsStore() + .disableDeferUpdatesSilently(AllAppsStore.DEFER_UPDATES_NEXT_DRAW); } } @@ -2249,9 +2253,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, @Override public void executeOnNextDraw(ViewOnDrawExecutor executor) { - if (mPendingExecutor != null) { - mPendingExecutor.markCompleted(); - } + clearPendingBinds(); mPendingExecutor = executor; if (!isInState(ALL_APPS)) { mAppsView.getAppsStore().enableDeferUpdates(AllAppsStore.DEFER_UPDATES_NEXT_DRAW); diff --git a/src/com/android/launcher3/allapps/AllAppsStore.java b/src/com/android/launcher3/allapps/AllAppsStore.java index 160042e69..267363fa7 100644 --- a/src/com/android/launcher3/allapps/AllAppsStore.java +++ b/src/com/android/launcher3/allapps/AllAppsStore.java @@ -80,6 +80,10 @@ public class AllAppsStore { } } + public void disableDeferUpdatesSilently(int flag) { + mDeferUpdatesFlags &= ~flag; + } + public int getDeferUpdatesFlags() { return mDeferUpdatesFlags; } -- cgit v1.2.3