diff options
author | Jon Miranda <jonmiranda@google.com> | 2019-09-17 12:00:03 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-09-17 12:00:03 -0700 |
commit | bf7371e510c4d2419a65869fc4971804ea296981 (patch) | |
tree | 7e0afb03932290d775ba794d3188d72d07373d1a /src/com/android/launcher3/compat | |
parent | 315732e524ca49a3a969a238e299ee853cc16cd2 (diff) | |
parent | c1322b6ac8677582355e700180ab554225f63952 (diff) | |
download | android_packages_apps_Trebuchet-bf7371e510c4d2419a65869fc4971804ea296981.tar.gz android_packages_apps_Trebuchet-bf7371e510c4d2419a65869fc4971804ea296981.tar.bz2 android_packages_apps_Trebuchet-bf7371e510c4d2419a65869fc4971804ea296981.zip |
Key by both package and user for list of active install sessions.
am: c1322b6ac8
Change-Id: I112298649de8f9abd0898fdf4feda02395b7a31c
Diffstat (limited to 'src/com/android/launcher3/compat')
-rw-r--r-- | src/com/android/launcher3/compat/PackageInstallerCompat.java | 14 | ||||
-rw-r--r-- | src/com/android/launcher3/compat/PackageInstallerCompatVL.java | 7 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/com/android/launcher3/compat/PackageInstallerCompat.java b/src/com/android/launcher3/compat/PackageInstallerCompat.java index 11cb1f88d..55df98b48 100644 --- a/src/com/android/launcher3/compat/PackageInstallerCompat.java +++ b/src/com/android/launcher3/compat/PackageInstallerCompat.java @@ -19,6 +19,7 @@ package com.android.launcher3.compat; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageInstaller; +import android.content.pm.PackageInstaller.SessionInfo; import android.os.Process; import android.os.UserHandle; @@ -29,6 +30,7 @@ import java.util.List; import androidx.annotation.NonNull; import com.android.launcher3.Utilities; +import com.android.launcher3.util.PackageUserKey; public abstract class PackageInstallerCompat { @@ -52,19 +54,19 @@ public abstract class PackageInstallerCompat { } } - public static UserHandle getUserHandle(PackageInstaller.SessionInfo info) { + public static UserHandle getUserHandle(SessionInfo info) { return Utilities.ATLEAST_Q ? info.getUser() : Process.myUserHandle(); } /** * @return a map of active installs to their progress */ - public abstract HashMap<String, PackageInstaller.SessionInfo> updateAndGetActiveSessionCache(); + public abstract HashMap<PackageUserKey, SessionInfo> updateAndGetActiveSessionCache(); /** * @return an active SessionInfo for {@param pkg} or null if none exists. */ - public abstract PackageInstaller.SessionInfo getActiveSessionInfo(UserHandle user, String pkg); + public abstract SessionInfo getActiveSessionInfo(UserHandle user, String pkg); public abstract void onStop(); @@ -75,7 +77,7 @@ public abstract class PackageInstallerCompat { public final int progress; public final UserHandle user; - private PackageInstallInfo(@NonNull PackageInstaller.SessionInfo info) { + private PackageInstallInfo(@NonNull SessionInfo info) { this.state = STATUS_INSTALLING; this.packageName = info.getAppPackageName(); this.componentName = new ComponentName(packageName, ""); @@ -91,7 +93,7 @@ public abstract class PackageInstallerCompat { this.user = user; } - public static PackageInstallInfo fromInstallingState(PackageInstaller.SessionInfo info) { + public static PackageInstallInfo fromInstallingState(SessionInfo info) { return new PackageInstallInfo(info); } @@ -101,7 +103,7 @@ public abstract class PackageInstallerCompat { } - public abstract List<PackageInstaller.SessionInfo> getAllVerifiedSessions(); + public abstract List<SessionInfo> getAllVerifiedSessions(); /** * Returns true if a promise icon was already added to the home screen for {@param sessionId}. diff --git a/src/com/android/launcher3/compat/PackageInstallerCompatVL.java b/src/com/android/launcher3/compat/PackageInstallerCompatVL.java index 2e22cbafb..9c57e8ab5 100644 --- a/src/com/android/launcher3/compat/PackageInstallerCompatVL.java +++ b/src/com/android/launcher3/compat/PackageInstallerCompatVL.java @@ -89,12 +89,13 @@ public class PackageInstallerCompatVL extends PackageInstallerCompat { } @Override - public HashMap<String, SessionInfo> updateAndGetActiveSessionCache() { - HashMap<String, SessionInfo> activePackages = new HashMap<>(); + public HashMap<PackageUserKey, SessionInfo> updateAndGetActiveSessionCache() { + HashMap<PackageUserKey, SessionInfo> activePackages = new HashMap<>(); for (SessionInfo info : getAllVerifiedSessions()) { addSessionInfoToCache(info, getUserHandle(info)); if (info.getAppPackageName() != null) { - activePackages.put(info.getAppPackageName(), info); + activePackages.put(new PackageUserKey(info.getAppPackageName(), + getUserHandle(info)), info); mActiveSessions.put(info.getSessionId(), new PackageUserKey(info.getAppPackageName(), getUserHandle(info))); } |