Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f745b925 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Loading proper app icon if the associated activity is null

Bug: 34123342
Change-Id: Ibb80c6e442beea34c612fb4ce5246260714820e2
parent 3e9be43b
Loading
Loading
Loading
Loading
+21 −9
Original line number Diff line number Diff line
@@ -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);

        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 = shortcutInfo.getActivity();
            appInfo.componentName = cn;
            appInfo.intent = new Intent(Intent.ACTION_MAIN)
                    .addCategory(Intent.CATEGORY_LAUNCHER)
                .setComponent(shortcutInfo.getActivity());
                    .setComponent(cn);
            cache.getTitleAndIcon(appInfo, false);
        return LauncherIcons.badgeWithBitmap(unbadgedBitmap, appInfo.iconBitmap, context);
            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. */