Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleOverflow.kt +2 −3 Original line number Diff line number Diff line Loading @@ -95,9 +95,8 @@ class BubbleOverflow( // Update bitmap val fg = InsetDrawable(overflowBtn?.drawable, overflowIconInset) bitmap = iconFactory.createBadgedIconBitmap(AdaptiveIconDrawable( ColorDrawable(colorAccent), fg), null /* user */, true /* shrinkNonAdaptiveIcons */).icon bitmap = iconFactory.createBadgedIconBitmap( AdaptiveIconDrawable(ColorDrawable(colorAccent), fg)).icon // Update dot path dotPath = PathParser.createPathFromPathData( Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleViewInfoTask.java +1 −3 Original line number Diff line number Diff line Loading @@ -189,9 +189,7 @@ public class BubbleViewInfoTask extends AsyncTask<Void, Void, BubbleViewInfoTask BitmapInfo badgeBitmapInfo = iconFactory.getBadgeBitmap(badgedIcon, b.isImportantConversation()); info.badgeBitmap = badgeBitmapInfo.icon; info.bubbleBitmap = iconFactory.createBadgedIconBitmap(bubbleDrawable, null /* user */, true /* shrinkNonAdaptiveIcons */).icon; info.bubbleBitmap = iconFactory.createBadgedIconBitmap(bubbleDrawable).icon; // Dot color & placement Path iconPath = PathParser.createPathFromPathData( Loading libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java +1 −2 Original line number Diff line number Diff line Loading @@ -390,8 +390,7 @@ public class SplashscreenContentDrawer { final ShapeIconFactory factory = new ShapeIconFactory( SplashscreenContentDrawer.this.mContext, scaledIconDpi, mFinalIconSize); final Bitmap bitmap = factory.createScaledBitmapWithoutShadow( iconDrawable, true /* shrinkNonAdaptiveIcons */); final Bitmap bitmap = factory.createScaledBitmapWithoutShadow(iconDrawable); Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); createIconDrawable(new BitmapDrawable(bitmap), true); } Loading packages/SettingsLib/src/com/android/settingslib/Utils.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.location.LocationManager; import android.media.AudioManager; Loading @@ -44,6 +43,7 @@ import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.UserIcons; import com.android.launcher3.icons.BaseIconFactory.IconOptions; import com.android.launcher3.icons.IconFactory; import com.android.settingslib.drawable.UserIconDrawable; import com.android.settingslib.fuelgauge.BatteryStatus; Loading Loading @@ -525,9 +525,9 @@ public class Utils { /** Get the corresponding adaptive icon drawable. */ public static Drawable getBadgedIcon(Context context, Drawable icon, UserHandle user) { try (IconFactory iconFactory = IconFactory.obtain(context)) { final Bitmap iconBmp = iconFactory.createBadgedIconBitmap(icon, user, true /* shrinkNonAdaptiveIcons */).icon; return new BitmapDrawable(context.getResources(), iconBmp); return iconFactory .createBadgedIconBitmap(icon, new IconOptions().setUser(user)) .newIcon(context); } } Loading packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java +8 −18 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import static android.appwidget.AppWidgetManager.OPTION_APPWIDGET_SIZES; import static android.util.TypedValue.COMPLEX_UNIT_DIP; import static android.util.TypedValue.COMPLEX_UNIT_PX; import static com.android.launcher3.icons.FastBitmapDrawable.getDisabledColorFilter; import static com.android.systemui.people.PeopleSpaceUtils.STARRED_CONTACT; import static com.android.systemui.people.PeopleSpaceUtils.VALID_CONTACT; import static com.android.systemui.people.PeopleSpaceUtils.convertDrawableToBitmap; Loading @@ -45,8 +46,6 @@ import android.app.people.PeopleSpaceTile; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.ImageDecoder; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; Loading Loading @@ -75,7 +74,6 @@ import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import androidx.core.math.MathUtils; import com.android.internal.annotations.VisibleForTesting; import com.android.launcher3.icons.FastBitmapDrawable; import com.android.systemui.R; import com.android.systemui.people.widget.LaunchConversationActivity; import com.android.systemui.people.widget.PeopleSpaceWidgetProvider; Loading Loading @@ -339,8 +337,9 @@ public class PeopleTileViewHelper { views = new RemoteViews(mContext.getPackageName(), R.layout.people_tile_suppressed_layout); } Drawable appIcon = mContext.getDrawable(R.drawable.ic_conversation_icon); Bitmap disabledBitmap = convertDrawableToDisabledBitmap(appIcon); Drawable appIcon = mContext.getDrawable(R.drawable.ic_conversation_icon).mutate(); appIcon.setColorFilter(getDisabledColorFilter()); Bitmap disabledBitmap = convertDrawableToBitmap(appIcon); views.setImageViewBitmap(R.id.icon, disabledBitmap); return views; } Loading Loading @@ -1262,8 +1261,9 @@ public class PeopleTileViewHelper { Context context, PeopleSpaceTile tile, int maxAvatarSize, boolean hasNewStory) { Icon icon = tile.getUserIcon(); if (icon == null) { Drawable placeholder = context.getDrawable(R.drawable.ic_avatar_with_badge); return convertDrawableToDisabledBitmap(placeholder); Drawable placeholder = context.getDrawable(R.drawable.ic_avatar_with_badge).mutate(); placeholder.setColorFilter(getDisabledColorFilter()); return convertDrawableToBitmap(placeholder); } PeopleStoryIconFactory storyIcon = new PeopleStoryIconFactory(context, context.getPackageManager(), Loading @@ -1276,10 +1276,7 @@ public class PeopleTileViewHelper { hasNewStory); if (isDndBlockingTileData(tile)) { // If DND is blocking the conversation, then display the icon in grayscale. ColorMatrix colorMatrix = new ColorMatrix(); colorMatrix.setSaturation(0); personDrawable.setColorFilter(new ColorMatrixColorFilter(colorMatrix)); personDrawable.setColorFilter(getDisabledColorFilter()); } return convertDrawableToBitmap(personDrawable); Loading Loading @@ -1375,11 +1372,4 @@ public class PeopleTileViewHelper { mAvatarSize = avatarSize; } } private static Bitmap convertDrawableToDisabledBitmap(Drawable icon) { Bitmap appIconAsBitmap = convertDrawableToBitmap(icon); FastBitmapDrawable drawable = new FastBitmapDrawable(appIconAsBitmap); drawable.setIsDisabled(true); return convertDrawableToBitmap(drawable); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleOverflow.kt +2 −3 Original line number Diff line number Diff line Loading @@ -95,9 +95,8 @@ class BubbleOverflow( // Update bitmap val fg = InsetDrawable(overflowBtn?.drawable, overflowIconInset) bitmap = iconFactory.createBadgedIconBitmap(AdaptiveIconDrawable( ColorDrawable(colorAccent), fg), null /* user */, true /* shrinkNonAdaptiveIcons */).icon bitmap = iconFactory.createBadgedIconBitmap( AdaptiveIconDrawable(ColorDrawable(colorAccent), fg)).icon // Update dot path dotPath = PathParser.createPathFromPathData( Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleViewInfoTask.java +1 −3 Original line number Diff line number Diff line Loading @@ -189,9 +189,7 @@ public class BubbleViewInfoTask extends AsyncTask<Void, Void, BubbleViewInfoTask BitmapInfo badgeBitmapInfo = iconFactory.getBadgeBitmap(badgedIcon, b.isImportantConversation()); info.badgeBitmap = badgeBitmapInfo.icon; info.bubbleBitmap = iconFactory.createBadgedIconBitmap(bubbleDrawable, null /* user */, true /* shrinkNonAdaptiveIcons */).icon; info.bubbleBitmap = iconFactory.createBadgedIconBitmap(bubbleDrawable).icon; // Dot color & placement Path iconPath = PathParser.createPathFromPathData( Loading
libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java +1 −2 Original line number Diff line number Diff line Loading @@ -390,8 +390,7 @@ public class SplashscreenContentDrawer { final ShapeIconFactory factory = new ShapeIconFactory( SplashscreenContentDrawer.this.mContext, scaledIconDpi, mFinalIconSize); final Bitmap bitmap = factory.createScaledBitmapWithoutShadow( iconDrawable, true /* shrinkNonAdaptiveIcons */); final Bitmap bitmap = factory.createScaledBitmapWithoutShadow(iconDrawable); Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); createIconDrawable(new BitmapDrawable(bitmap), true); } Loading
packages/SettingsLib/src/com/android/settingslib/Utils.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.location.LocationManager; import android.media.AudioManager; Loading @@ -44,6 +43,7 @@ import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.UserIcons; import com.android.launcher3.icons.BaseIconFactory.IconOptions; import com.android.launcher3.icons.IconFactory; import com.android.settingslib.drawable.UserIconDrawable; import com.android.settingslib.fuelgauge.BatteryStatus; Loading Loading @@ -525,9 +525,9 @@ public class Utils { /** Get the corresponding adaptive icon drawable. */ public static Drawable getBadgedIcon(Context context, Drawable icon, UserHandle user) { try (IconFactory iconFactory = IconFactory.obtain(context)) { final Bitmap iconBmp = iconFactory.createBadgedIconBitmap(icon, user, true /* shrinkNonAdaptiveIcons */).icon; return new BitmapDrawable(context.getResources(), iconBmp); return iconFactory .createBadgedIconBitmap(icon, new IconOptions().setUser(user)) .newIcon(context); } } Loading
packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java +8 −18 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import static android.appwidget.AppWidgetManager.OPTION_APPWIDGET_SIZES; import static android.util.TypedValue.COMPLEX_UNIT_DIP; import static android.util.TypedValue.COMPLEX_UNIT_PX; import static com.android.launcher3.icons.FastBitmapDrawable.getDisabledColorFilter; import static com.android.systemui.people.PeopleSpaceUtils.STARRED_CONTACT; import static com.android.systemui.people.PeopleSpaceUtils.VALID_CONTACT; import static com.android.systemui.people.PeopleSpaceUtils.convertDrawableToBitmap; Loading @@ -45,8 +46,6 @@ import android.app.people.PeopleSpaceTile; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.ImageDecoder; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; Loading Loading @@ -75,7 +74,6 @@ import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import androidx.core.math.MathUtils; import com.android.internal.annotations.VisibleForTesting; import com.android.launcher3.icons.FastBitmapDrawable; import com.android.systemui.R; import com.android.systemui.people.widget.LaunchConversationActivity; import com.android.systemui.people.widget.PeopleSpaceWidgetProvider; Loading Loading @@ -339,8 +337,9 @@ public class PeopleTileViewHelper { views = new RemoteViews(mContext.getPackageName(), R.layout.people_tile_suppressed_layout); } Drawable appIcon = mContext.getDrawable(R.drawable.ic_conversation_icon); Bitmap disabledBitmap = convertDrawableToDisabledBitmap(appIcon); Drawable appIcon = mContext.getDrawable(R.drawable.ic_conversation_icon).mutate(); appIcon.setColorFilter(getDisabledColorFilter()); Bitmap disabledBitmap = convertDrawableToBitmap(appIcon); views.setImageViewBitmap(R.id.icon, disabledBitmap); return views; } Loading Loading @@ -1262,8 +1261,9 @@ public class PeopleTileViewHelper { Context context, PeopleSpaceTile tile, int maxAvatarSize, boolean hasNewStory) { Icon icon = tile.getUserIcon(); if (icon == null) { Drawable placeholder = context.getDrawable(R.drawable.ic_avatar_with_badge); return convertDrawableToDisabledBitmap(placeholder); Drawable placeholder = context.getDrawable(R.drawable.ic_avatar_with_badge).mutate(); placeholder.setColorFilter(getDisabledColorFilter()); return convertDrawableToBitmap(placeholder); } PeopleStoryIconFactory storyIcon = new PeopleStoryIconFactory(context, context.getPackageManager(), Loading @@ -1276,10 +1276,7 @@ public class PeopleTileViewHelper { hasNewStory); if (isDndBlockingTileData(tile)) { // If DND is blocking the conversation, then display the icon in grayscale. ColorMatrix colorMatrix = new ColorMatrix(); colorMatrix.setSaturation(0); personDrawable.setColorFilter(new ColorMatrixColorFilter(colorMatrix)); personDrawable.setColorFilter(getDisabledColorFilter()); } return convertDrawableToBitmap(personDrawable); Loading Loading @@ -1375,11 +1372,4 @@ public class PeopleTileViewHelper { mAvatarSize = avatarSize; } } private static Bitmap convertDrawableToDisabledBitmap(Drawable icon) { Bitmap appIconAsBitmap = convertDrawableToBitmap(icon); FastBitmapDrawable drawable = new FastBitmapDrawable(appIconAsBitmap); drawable.setIsDisabled(true); return convertDrawableToBitmap(drawable); } }