summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/ShortcutInfo.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-01-11 14:20:20 -0800
committerSunny Goyal <sunnygoyal@google.com>2017-01-11 14:20:57 -0800
commitf745b925b4ab9ce037a31fc41277c638df4964db (patch)
tree91a3e905cb79d2493e6976a1a9c65c6f93cad606 /src/com/android/launcher3/ShortcutInfo.java
parent3e9be43b6ea75c8b82b57aa58508a0c3e8e1d721 (diff)
downloadandroid_packages_apps_Trebuchet-f745b925b4ab9ce037a31fc41277c638df4964db.tar.gz
android_packages_apps_Trebuchet-f745b925b4ab9ce037a31fc41277c638df4964db.tar.bz2
android_packages_apps_Trebuchet-f745b925b4ab9ce037a31fc41277c638df4964db.zip
Loading proper app icon if the associated activity is null
Bug: 34123342 Change-Id: Ibb80c6e442beea34c612fb4ce5246260714820e2
Diffstat (limited to 'src/com/android/launcher3/ShortcutInfo.java')
-rw-r--r--src/com/android/launcher3/ShortcutInfo.java30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/com/android/launcher3/ShortcutInfo.java b/src/com/android/launcher3/ShortcutInfo.java
index 8c83dff2b..ccdbfbae9 100644
--- a/src/com/android/launcher3/ShortcutInfo.java
+++ b/src/com/android/launcher3/ShortcutInfo.java
@@ -17,6 +17,7 @@
package com.android.launcher3;
import android.annotation.TargetApi;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -29,6 +30,7 @@ import android.text.TextUtils;
import com.android.launcher3.LauncherSettings.Favorites;
import com.android.launcher3.compat.UserManagerCompat;
import com.android.launcher3.graphics.LauncherIcons;
+import com.android.launcher3.model.PackageItemInfo;
import com.android.launcher3.shortcuts.DeepShortcutManager;
import com.android.launcher3.shortcuts.ShortcutInfoCompat;
import com.android.launcher3.util.ContentWriter;
@@ -250,15 +252,25 @@ public class ShortcutInfo extends ItemInfoWithIcon {
protected Bitmap getBadgedIcon(Bitmap unbadgedBitmap, ShortcutInfoCompat shortcutInfo,
IconCache cache, Context context) {
unbadgedBitmap = LauncherIcons.addShadowToIcon(unbadgedBitmap, context);
- // Get the app info for the source activity.
- AppInfo appInfo = new AppInfo();
- appInfo.user = user;
- appInfo.componentName = shortcutInfo.getActivity();
- appInfo.intent = new Intent(Intent.ACTION_MAIN)
- .addCategory(Intent.CATEGORY_LAUNCHER)
- .setComponent(shortcutInfo.getActivity());
- cache.getTitleAndIcon(appInfo, false);
- return LauncherIcons.badgeWithBitmap(unbadgedBitmap, appInfo.iconBitmap, context);
+
+ final Bitmap badgeBitmap;
+ ComponentName cn = shortcutInfo.getActivity();
+ if (cn != null) {
+ // Get the app info for the source activity.
+ AppInfo appInfo = new AppInfo();
+ appInfo.user = user;
+ appInfo.componentName = cn;
+ appInfo.intent = new Intent(Intent.ACTION_MAIN)
+ .addCategory(Intent.CATEGORY_LAUNCHER)
+ .setComponent(cn);
+ cache.getTitleAndIcon(appInfo, false);
+ badgeBitmap = appInfo.iconBitmap;
+ } else {
+ PackageItemInfo pkgInfo = new PackageItemInfo(shortcutInfo.getPackage());
+ cache.getTitleAndIconForApp(pkgInfo, false);
+ badgeBitmap = pkgInfo.iconBitmap;
+ }
+ return LauncherIcons.badgeWithBitmap(unbadgedBitmap, badgeBitmap, context);
}
/** Returns the ShortcutInfo id associated with the deep shortcut. */