Merge "Only initialize the animation control when gesture starts" into ub-launcher3-master
diff --git a/quickstep/src/com/android/quickstep/TaskSystemShortcut.java b/quickstep/src/com/android/quickstep/TaskSystemShortcut.java
index ca99253..d8ba186 100644
--- a/quickstep/src/com/android/quickstep/TaskSystemShortcut.java
+++ b/quickstep/src/com/android/quickstep/TaskSystemShortcut.java
@@ -70,7 +70,7 @@
         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 a95e7c1..b31d42f 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 @@
  * 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);
     }
 }