Avoid stripping empty screens if the workspace is still loading (issue 12523285)
-> This appears to be what may be causing data loss in some users during update.
A certain (seemingly) rare combination of life-cycle events and package events
seems to be the culprit (potentially why it's seen at update time).
Change-Id: Iea4f8aef012ba80b7ba568e0df264edb9284efbe
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index c87f9e2..7944173 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -2078,6 +2078,10 @@
return mWorkspaceLoading || mWaitingForResult;
}
+ public boolean isWorkspaceLoading() {
+ return mWorkspaceLoading;
+ }
+
private void resetAddInfo() {
mPendingAddInfo.container = ItemInfo.NO_ID;
mPendingAddInfo.screenId = -1;
@@ -3771,6 +3775,8 @@
* Implementation of the method from LauncherModel.Callbacks.
*/
public void startBinding() {
+ mWorkspaceLoading = true;
+
// If we're starting binding all over again, clear any bind calls we'd postponed in
// the past (see waitUntilResume) -- we don't need them since we're starting binding
// from scratch again