Loading core/java/android/content/pm/LauncherActivityInfo.java +21 −8 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,8 @@ package android.content.pm; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Canvas; import android.graphics.Bitmap.Config; import android.graphics.Bitmap.Config; Loading @@ -37,6 +39,8 @@ import android.util.Log; */ */ public class LauncherActivityInfo { public class LauncherActivityInfo { private static final boolean DEBUG = false; private static final boolean DEBUG = false; private static final String TAG = "LauncherActivityInfo"; private final PackageManager mPm; private final PackageManager mPm; private final UserManager mUm; private final UserManager mUm; Loading Loading @@ -134,20 +138,29 @@ public class LauncherActivityInfo { * @return A badged icon for the activity. * @return A badged icon for the activity. */ */ public Drawable getBadgedIcon(int density) { public Drawable getBadgedIcon(int density) { // TODO: Handle density int iconRes = mActivityInfo.getIconResource(); if (mUser.equals(android.os.Process.myUserHandle())) { Resources resources = null; return mActivityInfo.loadIcon(mPm); Drawable originalIcon = null; try { resources = mPm.getResourcesForApplication(mActivityInfo.applicationInfo); try { if (density != 0) { originalIcon = resources.getDrawableForDensity(iconRes, density); } } Drawable originalIcon = mActivityInfo.loadIcon(mPm); } catch (Resources.NotFoundException e) { if (originalIcon == null) { if (DEBUG) { Log.w("LauncherActivityInfo", "Couldn't find icon for activity"); } } originalIcon = mPm.getDefaultActivityIcon(); } catch (NameNotFoundException nnfe) { } } if (originalIcon == null) { originalIcon = mActivityInfo.loadIcon(mPm); } if (originalIcon instanceof BitmapDrawable) { if (originalIcon instanceof BitmapDrawable) { return mUm.getBadgedDrawableForUser( return mUm.getBadgedDrawableForUser( originalIcon, mUser); originalIcon, mUser); } else { Log.e(TAG, "Unable to create badged icon for " + mActivityInfo); } } return originalIcon; return originalIcon; } } Loading Loading
core/java/android/content/pm/LauncherActivityInfo.java +21 −8 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,8 @@ package android.content.pm; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Canvas; import android.graphics.Bitmap.Config; import android.graphics.Bitmap.Config; Loading @@ -37,6 +39,8 @@ import android.util.Log; */ */ public class LauncherActivityInfo { public class LauncherActivityInfo { private static final boolean DEBUG = false; private static final boolean DEBUG = false; private static final String TAG = "LauncherActivityInfo"; private final PackageManager mPm; private final PackageManager mPm; private final UserManager mUm; private final UserManager mUm; Loading Loading @@ -134,20 +138,29 @@ public class LauncherActivityInfo { * @return A badged icon for the activity. * @return A badged icon for the activity. */ */ public Drawable getBadgedIcon(int density) { public Drawable getBadgedIcon(int density) { // TODO: Handle density int iconRes = mActivityInfo.getIconResource(); if (mUser.equals(android.os.Process.myUserHandle())) { Resources resources = null; return mActivityInfo.loadIcon(mPm); Drawable originalIcon = null; try { resources = mPm.getResourcesForApplication(mActivityInfo.applicationInfo); try { if (density != 0) { originalIcon = resources.getDrawableForDensity(iconRes, density); } } Drawable originalIcon = mActivityInfo.loadIcon(mPm); } catch (Resources.NotFoundException e) { if (originalIcon == null) { if (DEBUG) { Log.w("LauncherActivityInfo", "Couldn't find icon for activity"); } } originalIcon = mPm.getDefaultActivityIcon(); } catch (NameNotFoundException nnfe) { } } if (originalIcon == null) { originalIcon = mActivityInfo.loadIcon(mPm); } if (originalIcon instanceof BitmapDrawable) { if (originalIcon instanceof BitmapDrawable) { return mUm.getBadgedDrawableForUser( return mUm.getBadgedDrawableForUser( originalIcon, mUser); originalIcon, mUser); } else { Log.e(TAG, "Unable to create badged icon for " + mActivityInfo); } } return originalIcon; return originalIcon; } } Loading