diff options
Diffstat (limited to 'src/com/android/launcher3/allapps/AllAppsStore.java')
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsStore.java | 18 |
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); } /** |