diff options
Diffstat (limited to 'src/com/android/launcher3/model/LoaderResults.java')
-rw-r--r-- | src/com/android/launcher3/model/LoaderResults.java | 13 |
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; + } } |