Clear mOnInitialBindListener in Launcher#onDestroy()
Bug: 305643224
Test: manual
Flag: N/A
Change-Id: I8c5f670dc7d42eb03e0017a11a0beca2c5005cd3
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 9f7575d..24373a2 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1721,7 +1721,11 @@
TextKeyListener.getInstance().release();
clearPendingBinds();
LauncherAppState.getIDP(this).removeOnChangeListener(this);
-
+ // if Launcher activity is recreated, {@link Window} including {@link ViewTreeObserver}
+ // could be preserved in {@link ActivityThread#scheduleRelaunchActivity(IBinder)} if the
+ // previous activity has not stopped, which could happen when wallpaper detects a color
+ // changes while launcher is still loading.
+ getRootView().getViewTreeObserver().removeOnPreDrawListener(mOnInitialBindListener);
mOverlayManager.onActivityDestroyed();
}