DO NOT MERGE: Downbranch merge conflict [Output Switcher] Fix situation when icon is not available for getBitmap am: 17d674584b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18492582 Change-Id: Ifa27c545e66cd450d4fc7d11fd9fddbdb32f98bd Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -314,19 +314,19 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
|
||||
mHeaderIcon.setImageResource(iconRes);
|
||||
} else if (iconCompat != null) {
|
||||
Icon icon = iconCompat.toIcon(mContext);
|
||||
Configuration config = mContext.getResources().getConfiguration();
|
||||
int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK;
|
||||
boolean isDarkThemeOn = currentNightMode == Configuration.UI_MODE_NIGHT_YES;
|
||||
WallpaperColors wallpaperColors = WallpaperColors.fromBitmap(icon.getBitmap());
|
||||
colorSetUpdated = !wallpaperColors.equals(mWallpaperColors);
|
||||
if (colorSetUpdated) {
|
||||
mAdapter.updateColorScheme(wallpaperColors, isDarkThemeOn);
|
||||
ColorFilter buttonColorFilter = new PorterDuffColorFilter(
|
||||
mAdapter.getController().getColorButtonBackground(),
|
||||
PorterDuff.Mode.SRC_IN);
|
||||
mDoneButton.getBackground().setColorFilter(buttonColorFilter);
|
||||
mStopButton.getBackground().setColorFilter(buttonColorFilter);
|
||||
mDoneButton.setTextColor(mAdapter.getController().getColorPositiveButtonText());
|
||||
if (icon.getType() != Icon.TYPE_BITMAP && icon.getType() != Icon.TYPE_ADAPTIVE_BITMAP) {
|
||||
// icon doesn't support getBitmap, use default value for color scheme
|
||||
updateButtonBackgroundColorFilter();
|
||||
} else {
|
||||
Configuration config = mContext.getResources().getConfiguration();
|
||||
int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK;
|
||||
boolean isDarkThemeOn = currentNightMode == Configuration.UI_MODE_NIGHT_YES;
|
||||
WallpaperColors wallpaperColors = WallpaperColors.fromBitmap(icon.getBitmap());
|
||||
colorSetUpdated = !wallpaperColors.equals(mWallpaperColors);
|
||||
if (colorSetUpdated) {
|
||||
mAdapter.updateColorScheme(wallpaperColors, isDarkThemeOn);
|
||||
updateButtonBackgroundColorFilter();
|
||||
}
|
||||
}
|
||||
mHeaderIcon.setVisibility(View.VISIBLE);
|
||||
mHeaderIcon.setImageIcon(icon);
|
||||
@@ -368,6 +368,15 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
|
||||
mStopButton.setOnClickListener(v -> onStopButtonClick());
|
||||
}
|
||||
|
||||
private void updateButtonBackgroundColorFilter() {
|
||||
ColorFilter buttonColorFilter = new PorterDuffColorFilter(
|
||||
mAdapter.getController().getColorButtonBackground(),
|
||||
PorterDuff.Mode.SRC_IN);
|
||||
mDoneButton.getBackground().setColorFilter(buttonColorFilter);
|
||||
mStopButton.getBackground().setColorFilter(buttonColorFilter);
|
||||
mDoneButton.setTextColor(mAdapter.getController().getColorPositiveButtonText());
|
||||
}
|
||||
|
||||
private Drawable resizeDrawable(Drawable drawable, int size) {
|
||||
if (drawable == null) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user