Align badging logic with platform IconDrawableFactory.

am: b0be237b3f

Change-Id: I1bcd1206b7fe0d4a2b53f332ab47985961215cff
This commit is contained in:
Hai Zhang
2019-05-21 01:18:11 -07:00
committed by android-build-merger
@@ -161,22 +161,19 @@ public class BaseIconFactory implements AutoCloseable {
mCanvas.setBitmap(null);
}
final Bitmap result;
if (user != null && !Process.myUserHandle().equals(user)) {
if (isInstantApp) {
badgeWithDrawable(bitmap, mContext.getDrawable(R.drawable.ic_instant_app_badge));
}
if (user != null) {
BitmapDrawable drawable = new FixedSizeBitmapDrawable(bitmap);
Drawable badged = mPm.getUserBadgedIcon(drawable, user);
if (badged instanceof BitmapDrawable) {
result = ((BitmapDrawable) badged).getBitmap();
bitmap = ((BitmapDrawable) badged).getBitmap();
} else {
result = createIconBitmap(badged, 1f);
bitmap = createIconBitmap(badged, 1f);
}
} else if (isInstantApp) {
badgeWithDrawable(bitmap, mContext.getDrawable(R.drawable.ic_instant_app_badge));
result = bitmap;
} else {
result = bitmap;
}
return BitmapInfo.fromBitmap(result, mDisableColorExtractor ? null : mColorExtractor);
return BitmapInfo.fromBitmap(bitmap, mDisableColorExtractor ? null : mColorExtractor);
}
public Bitmap createScaledBitmapWithoutShadow(Drawable icon, boolean shrinkNonAdaptiveIcons) {