Loading core/java/com/android/internal/app/ChooserActivity.java +2 −1 Original line number Diff line number Diff line Loading @@ -1802,7 +1802,8 @@ public class ChooserActivity extends ResolverActivity { if (info == null) return null; // Now fetch app icon and raster with no badging even in work profile Bitmap appIcon = makePresentationGetter(info).getIconBitmap(); Bitmap appIcon = makePresentationGetter(info).getIconBitmap( UserHandle.getUserHandleForUid(UserHandle.myUserId())); // Raster target drawable with appIcon as a badge SimpleIconFactory sif = SimpleIconFactory.obtain(ChooserActivity.this); Loading core/java/com/android/internal/app/ResolverActivity.java +6 −5 Original line number Diff line number Diff line Loading @@ -551,11 +551,11 @@ public class ResolverActivity extends Activity { mAi.packageName); } public Drawable getIcon() { return new BitmapDrawable(mCtx.getResources(), getIconBitmap()); public Drawable getIcon(UserHandle userHandle) { return new BitmapDrawable(mCtx.getResources(), getIconBitmap(userHandle)); } public Bitmap getIconBitmap() { public Bitmap getIconBitmap(UserHandle userHandle) { Drawable dr = null; if (mHasSubstitutePermission) { dr = getIconSubstituteInternal(); Loading @@ -576,7 +576,7 @@ public class ResolverActivity extends Activity { } SimpleIconFactory sif = SimpleIconFactory.obtain(mCtx); Bitmap icon = sif.createUserBadgedIconBitmap(dr, Process.myUserHandle()); Bitmap icon = sif.createUserBadgedIconBitmap(dr, userHandle); sif.recycle(); return icon; Loading Loading @@ -699,7 +699,8 @@ public class ResolverActivity extends Activity { } Drawable loadIconForResolveInfo(ResolveInfo ri) { return makePresentationGetter(ri).getIcon(); // Load icons based on the current process. If in work profile icons should be badged. return makePresentationGetter(ri).getIcon(Process.myUserHandle()); } @Override Loading core/java/com/android/internal/app/SimpleIconFactory.java +2 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.DrawableWrapper; import android.os.Process; import android.os.UserHandle; import android.util.AttributeSet; import android.util.Pools.SynchronizedPool; Loading Loading @@ -161,6 +160,7 @@ public class SimpleIconFactory { /** * Creates bitmap using the source drawable and various parameters. * The bitmap is visually normalized with other icons and has enough spacing to add shadow. * Note: this method has been modified from iconloaderlib to remove a profile diff check. * * @param icon source of the icon associated with a user that has no badge, * likely user 0 Loading @@ -186,7 +186,7 @@ public class SimpleIconFactory { } final Bitmap result; if (user != null && !Process.myUserHandle().equals(user)) { if (user != null /* if modification from iconloaderlib */) { BitmapDrawable drawable = new FixedSizeBitmapDrawable(bitmap); Drawable badged = mPm.getUserBadgedIcon(drawable, user); if (badged instanceof BitmapDrawable) { Loading Loading
core/java/com/android/internal/app/ChooserActivity.java +2 −1 Original line number Diff line number Diff line Loading @@ -1802,7 +1802,8 @@ public class ChooserActivity extends ResolverActivity { if (info == null) return null; // Now fetch app icon and raster with no badging even in work profile Bitmap appIcon = makePresentationGetter(info).getIconBitmap(); Bitmap appIcon = makePresentationGetter(info).getIconBitmap( UserHandle.getUserHandleForUid(UserHandle.myUserId())); // Raster target drawable with appIcon as a badge SimpleIconFactory sif = SimpleIconFactory.obtain(ChooserActivity.this); Loading
core/java/com/android/internal/app/ResolverActivity.java +6 −5 Original line number Diff line number Diff line Loading @@ -551,11 +551,11 @@ public class ResolverActivity extends Activity { mAi.packageName); } public Drawable getIcon() { return new BitmapDrawable(mCtx.getResources(), getIconBitmap()); public Drawable getIcon(UserHandle userHandle) { return new BitmapDrawable(mCtx.getResources(), getIconBitmap(userHandle)); } public Bitmap getIconBitmap() { public Bitmap getIconBitmap(UserHandle userHandle) { Drawable dr = null; if (mHasSubstitutePermission) { dr = getIconSubstituteInternal(); Loading @@ -576,7 +576,7 @@ public class ResolverActivity extends Activity { } SimpleIconFactory sif = SimpleIconFactory.obtain(mCtx); Bitmap icon = sif.createUserBadgedIconBitmap(dr, Process.myUserHandle()); Bitmap icon = sif.createUserBadgedIconBitmap(dr, userHandle); sif.recycle(); return icon; Loading Loading @@ -699,7 +699,8 @@ public class ResolverActivity extends Activity { } Drawable loadIconForResolveInfo(ResolveInfo ri) { return makePresentationGetter(ri).getIcon(); // Load icons based on the current process. If in work profile icons should be badged. return makePresentationGetter(ri).getIcon(Process.myUserHandle()); } @Override Loading
core/java/com/android/internal/app/SimpleIconFactory.java +2 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.DrawableWrapper; import android.os.Process; import android.os.UserHandle; import android.util.AttributeSet; import android.util.Pools.SynchronizedPool; Loading Loading @@ -161,6 +160,7 @@ public class SimpleIconFactory { /** * Creates bitmap using the source drawable and various parameters. * The bitmap is visually normalized with other icons and has enough spacing to add shadow. * Note: this method has been modified from iconloaderlib to remove a profile diff check. * * @param icon source of the icon associated with a user that has no badge, * likely user 0 Loading @@ -186,7 +186,7 @@ public class SimpleIconFactory { } final Bitmap result; if (user != null && !Process.myUserHandle().equals(user)) { if (user != null /* if modification from iconloaderlib */) { BitmapDrawable drawable = new FixedSizeBitmapDrawable(bitmap); Drawable badged = mPm.getUserBadgedIcon(drawable, user); if (badged instanceof BitmapDrawable) { Loading