Revert "Revert "Synchronizing loader preload to avoid launcher getting stuck in loading state,""
This reverts commit 73aa3025c0001e58c57d009053dee03c0108ca3e.
Reason for revert: Post-drop revert
Change-Id: Ife752d26e07d9c064c938ff8d33d40457b54217a
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index 929606e..a4d188f 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -493,6 +493,15 @@
}
}
+ public void startLoaderForResultsIfNotLoaded(LoaderResults results) {
+ synchronized (mLock) {
+ if (!isModelLoaded()) {
+ Log.d(TAG, "Workspace not loaded, loading now");
+ startLoaderForResults(results);
+ }
+ }
+ }
+
/**
* Loads the workspace screen ids in an ordered list.
*/
diff --git a/src/com/android/launcher3/model/ModelPreload.java b/src/com/android/launcher3/model/ModelPreload.java
index 6f33bed..f186e95 100644
--- a/src/com/android/launcher3/model/ModelPreload.java
+++ b/src/com/android/launcher3/model/ModelPreload.java
@@ -49,11 +49,8 @@
@Override
public final void run() {
- if (!mModel.isModelLoaded()) {
- Log.d(TAG, "Workspace not loaded, loading now");
- mModel.startLoaderForResults(
- new LoaderResults(mApp, mBgDataModel, mAllAppsList, 0, null));
- }
+ mModel.startLoaderForResultsIfNotLoaded(
+ new LoaderResults(mApp, mBgDataModel, mAllAppsList, 0, null));
Log.d(TAG, "Preload completed : " + mModel.isModelLoaded());
onComplete(mModel.isModelLoaded());
}