summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/model/LoaderResults.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/model/LoaderResults.java')
-rw-r--r--src/com/android/launcher3/model/LoaderResults.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/launcher3/model/LoaderResults.java b/src/com/android/launcher3/model/LoaderResults.java
index 28df64d39..0df8b6fee 100644
--- a/src/com/android/launcher3/model/LoaderResults.java
+++ b/src/com/android/launcher3/model/LoaderResults.java
@@ -16,6 +16,7 @@
package com.android.launcher3.model;
+import android.os.Looper;
import android.util.Log;
import com.android.launcher3.AllAppsList;
@@ -32,6 +33,7 @@ import com.android.launcher3.PagedView;
import com.android.launcher3.Utilities;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.util.ComponentKey;
+import com.android.launcher3.util.LooperIdleLock;
import com.android.launcher3.util.MultiHashMap;
import com.android.launcher3.util.ViewOnDrawExecutor;
@@ -45,7 +47,7 @@ import java.util.Set;
import java.util.concurrent.Executor;
/**
- * Helper class to handle results of {@link com.android.launcher3.LauncherModel.LoaderTask}.
+ * Helper class to handle results of {@link com.android.launcher3.model.LoaderTask}.
*/
public class LoaderResults {
@@ -389,4 +391,13 @@ public class LoaderResults {
};
mUiExecutor.execute(r);
}
+
+ public LooperIdleLock newIdleLock(Object lock) {
+ LooperIdleLock idleLock = new LooperIdleLock(lock, Looper.getMainLooper());
+ // If we are not binding, there is no reason to wait for idle.
+ if (mCallbacks.get() == null) {
+ idleLock.queueIdle();
+ }
+ return idleLock;
+ }
}