summaryrefslogtreecommitdiffstats
path: root/quickstep/src/com/android
diff options
context:
space:
mode:
authorTony Mak <tonymak@google.com>2018-02-06 19:34:29 +0000
committerTony Mak <tonymak@google.com>2018-02-06 20:41:52 +0000
commit23d627fef852fa4b37b6e1f8dafad348f3a70d29 (patch)
treee8071ad3618267b2931ddbb7b6eb6867f5bc8182 /quickstep/src/com/android
parenta5e70402191bcf497b946033a9b258ec1f563893 (diff)
downloadandroid_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.java2
-rw-r--r--quickstep/src/com/android/quickstep/TaskUtils.java23
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);
}
}