summaryrefslogtreecommitdiff
path: root/src/com/android/launcher3/allapps/AllAppsStore.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/allapps/AllAppsStore.java')
-rw-r--r--src/com/android/launcher3/allapps/AllAppsStore.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsStore.java b/src/com/android/launcher3/allapps/AllAppsStore.java
index a977b3a2d9..06af970cfc 100644
--- a/src/com/android/launcher3/allapps/AllAppsStore.java
+++ b/src/com/android/launcher3/allapps/AllAppsStore.java
@@ -20,6 +20,7 @@ import static com.android.launcher3.model.data.AppInfo.EMPTY_ARRAY;
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_SHOW_DOWNLOAD_PROGRESS_MASK;
import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING;
+import android.os.UserHandle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
@@ -35,7 +36,9 @@ import com.android.launcher3.util.PackageUserKey;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Consumer;
import java.util.function.Predicate;
@@ -57,8 +60,8 @@ public class AllAppsStore {
private final List<OnUpdateListener> mUpdateListeners = new CopyOnWriteArrayList<>();
private final ArrayList<ViewGroup> mIconContainers = new ArrayList<>();
+ private Map<PackageUserKey, Integer> mPackageUserKeytoUidMap = Collections.emptyMap();
private int mModelFlags;
-
private int mDeferUpdatesFlags = 0;
private boolean mUpdatePending = false;
@@ -67,12 +70,21 @@ public class AllAppsStore {
}
/**
- * Sets the current set of apps.
+ * Sets the current set of apps and sets mapping for {@link PackageUserKey} to Uid for
+ * the current set of apps.
*/
- public void setApps(AppInfo[] apps, int flags) {
+ public void setApps(AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map) {
mApps = apps;
mModelFlags = flags;
notifyUpdate();
+ mPackageUserKeytoUidMap = map;
+ }
+
+ /**
+ * Look up for Uid using package name and user handle for the current set of apps.
+ */
+ public int lookUpForUid(String packageName, UserHandle user) {
+ return mPackageUserKeytoUidMap.getOrDefault(new PackageUserKey(packageName, user), -1);
}
/**