diff options
author | Tony Mak <tonymak@google.com> | 2018-02-06 19:34:29 +0000 |
---|---|---|
committer | Tony Mak <tonymak@google.com> | 2018-02-06 20:41:52 +0000 |
commit | 23d627fef852fa4b37b6e1f8dafad348f3a70d29 (patch) | |
tree | e8071ad3618267b2931ddbb7b6eb6867f5bc8182 /quickstep/src/com/android | |
parent | a5e70402191bcf497b946033a9b258ec1f563893 (diff) | |
download | android_packages_apps_Trebuchet-23d627fef852fa4b37b6e1f8dafad348f3a70d29.tar.gz android_packages_apps_Trebuchet-23d627fef852fa4b37b6e1f8dafad348f3a70d29.tar.bz2 android_packages_apps_Trebuchet-23d627fef852fa4b37b6e1f8dafad348f3a70d29.zip |
Fix label is not badged + failed to start "App Info" in correct user
FIX: 72805206
FIX: 72808690
FIX: 72808798
Change-Id: I0df4ba9424c4002ac496e932d4f9d410de5630cd
Diffstat (limited to 'quickstep/src/com/android')
-rw-r--r-- | quickstep/src/com/android/quickstep/TaskSystemShortcut.java | 2 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/TaskUtils.java | 23 |
2 files changed, 17 insertions, 8 deletions
diff --git a/quickstep/src/com/android/quickstep/TaskSystemShortcut.java b/quickstep/src/com/android/quickstep/TaskSystemShortcut.java index ca992535d..d8ba18655 100644 --- a/quickstep/src/com/android/quickstep/TaskSystemShortcut.java +++ b/quickstep/src/com/android/quickstep/TaskSystemShortcut.java @@ -70,7 +70,7 @@ public class TaskSystemShortcut<T extends SystemShortcut> extends SystemShortcut dummyInfo.intent = new Intent(); ComponentName component = task.getTopComponent(); dummyInfo.intent.setComponent(component); - dummyInfo.user = UserHandle.getUserHandleForUid(task.key.userId); + dummyInfo.user = UserHandle.of(task.key.userId); dummyInfo.title = TaskUtils.getTitle(launcher, task); return getOnClickListenerForTask(launcher, task, dummyInfo); diff --git a/quickstep/src/com/android/quickstep/TaskUtils.java b/quickstep/src/com/android/quickstep/TaskUtils.java index a95e7c171..b31d42fb6 100644 --- a/quickstep/src/com/android/quickstep/TaskUtils.java +++ b/quickstep/src/com/android/quickstep/TaskUtils.java @@ -16,10 +16,14 @@ package com.android.quickstep; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; +import android.os.UserHandle; import android.util.Log; import com.android.launcher3.Launcher; +import com.android.launcher3.compat.LauncherAppsCompat; +import com.android.launcher3.compat.UserManagerCompat; import com.android.systemui.shared.recents.model.Task; /** @@ -27,16 +31,21 @@ import com.android.systemui.shared.recents.model.Task; * TODO: remove this once we switch to getting the icon and label from IconCache. */ public class TaskUtils { + private static final String TAG = "TaskUtils"; public static CharSequence getTitle(Launcher launcher, Task task) { - PackageManager pm = launcher.getPackageManager(); - try { - return pm.getPackageInfo(task.getTopComponent().getPackageName(), 0) - .applicationInfo.loadLabel(pm); - } catch (PackageManager.NameNotFoundException e) { - Log.e(TAG, "Failed to get title for task " + task, e); + LauncherAppsCompat launcherAppsCompat = LauncherAppsCompat.getInstance(launcher); + UserManagerCompat userManagerCompat = UserManagerCompat.getInstance(launcher); + PackageManager packageManager = launcher.getPackageManager(); + UserHandle user = UserHandle.of(task.key.userId); + ApplicationInfo applicationInfo = launcherAppsCompat.getApplicationInfo( + task.getTopComponent().getPackageName(), 0, user); + if (applicationInfo == null) { + Log.e(TAG, "Failed to get title for task " + task); + return ""; } - return ""; + return userManagerCompat.getBadgedLabelForUser( + applicationInfo.loadLabel(packageManager), user); } } |