summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/util
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2019-08-06 09:48:36 -0700
committerSunny Goyal <sunnygoyal@google.com>2019-08-07 15:51:25 -0700
commite529a86fbd2eaf7b13575af6b6adf0eb6e25e45c (patch)
treeeaf8397c836d38baf0ef189b82e53b0b283a593f /src/com/android/launcher3/util
parent64a6fb063e565d1bdf7be0a5f9c6db909fcaab12 (diff)
downloadpackages_apps_Trebuchet-e529a86fbd2eaf7b13575af6b6adf0eb6e25e45c.tar.gz
packages_apps_Trebuchet-e529a86fbd2eaf7b13575af6b6adf0eb6e25e45c.tar.bz2
packages_apps_Trebuchet-e529a86fbd2eaf7b13575af6b6adf0eb6e25e45c.zip
Adding support for storing keywords in iconCache
Change-Id: I1183e63a6556ebfb3eee5df23d149e09728193a9
Diffstat (limited to 'src/com/android/launcher3/util')
-rw-r--r--src/com/android/launcher3/util/MainThreadInitializedObject.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/com/android/launcher3/util/MainThreadInitializedObject.java b/src/com/android/launcher3/util/MainThreadInitializedObject.java
index 2ee032859..e185a3199 100644
--- a/src/com/android/launcher3/util/MainThreadInitializedObject.java
+++ b/src/com/android/launcher3/util/MainThreadInitializedObject.java
@@ -18,12 +18,13 @@ package com.android.launcher3.util;
import android.content.Context;
import android.os.Looper;
+import androidx.annotation.VisibleForTesting;
+
import com.android.launcher3.MainThreadExecutor;
+import com.android.launcher3.util.ResourceBasedOverride.Overrides;
import java.util.concurrent.ExecutionException;
-import androidx.annotation.VisibleForTesting;
-
/**
* Utility class for defining singletons which are initiated on main thread.
*/
@@ -60,6 +61,14 @@ public class MainThreadInitializedObject<T> {
mValue = value;
}
+ /**
+ * Initializes a provider based on resource overrides
+ */
+ public static <T extends ResourceBasedOverride> MainThreadInitializedObject<T> forOverride(
+ Class<T> clazz, int resourceId) {
+ return new MainThreadInitializedObject<>(c -> Overrides.getObject(clazz, c, resourceId));
+ }
+
public interface ObjectProvider<T> {
T get(Context context);