Merge "[Output Switcher] Update Text Color"

This commit is contained in:
Shaowei Shen
2022-02-17 06:53:05 +00:00
committed by Android (Google) Code Review
3 changed files with 26 additions and 9 deletions

View File

@@ -67,10 +67,10 @@
<!-- media output dialog-->
<color name="media_dialog_background">@android:color/system_neutral1_900</color>
<color name="media_dialog_active_item_main_content">@android:color/system_accent2_800</color>
<color name="media_dialog_inactive_item_main_content">@android:color/system_accent1_100</color>
<color name="media_dialog_item_status">@android:color/system_accent1_100</color>
<color name="media_dialog_item_background">@android:color/system_neutral2_800</color>
<color name="media_dialog_active_item_main_content">@android:color/system_neutral1_900</color>
<color name="media_dialog_inactive_item_main_content">@android:color/system_neutral1_900</color>
<color name="media_dialog_item_status">@android:color/system_neutral1_900</color>
<color name="media_dialog_item_background">@android:color/system_accent2_50</color>
<!-- Biometric dialog colors -->
<color name="biometric_dialog_gray">#ffcccccc</color>

View File

@@ -177,6 +177,9 @@ public abstract class MediaOutputBaseAdapter extends
.mutate() : mContext.getDrawable(
R.drawable.media_output_item_background)
.mutate();
backgroundDrawable.setColorFilter(new PorterDuffColorFilter(
mController.getColorItemBackground(),
PorterDuff.Mode.SRC_IN));
mItemLayout.setBackground(backgroundDrawable);
mProgressBar.setVisibility(showProgressBar ? View.VISIBLE : View.GONE);
mSeekBar.setAlpha(1);
@@ -212,8 +215,13 @@ public abstract class MediaOutputBaseAdapter extends
mStatusIcon.setVisibility(showStatus ? View.VISIBLE : View.GONE);
mSeekBar.setAlpha(1);
mSeekBar.setVisibility(showSeekBar ? View.VISIBLE : View.GONE);
mItemLayout.setBackground(mContext.getDrawable(R.drawable.media_output_item_background)
.mutate());
final Drawable backgroundDrawable = mContext.getDrawable(
R.drawable.media_output_item_background)
.mutate();
backgroundDrawable.setColorFilter(new PorterDuffColorFilter(
mController.getColorItemBackground(),
PorterDuff.Mode.SRC_IN));
mItemLayout.setBackground(backgroundDrawable);
mProgressBar.setVisibility(showProgressBar ? View.VISIBLE : View.GONE);
mSubTitleText.setVisibility(showSubtitle ? View.VISIBLE : View.GONE);
mTwoLineTitleText.setTranslationY(0);

View File

@@ -111,6 +111,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
private int mColorInactiveItem;
private int mColorSeekbarProgress;
private int mColorButtonBackground;
private int mColorItemBackground;
@Inject
public MediaOutputController(@NonNull Context context, String packageName,
@@ -142,6 +143,8 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
android.R.color.system_accent1_200);
mColorButtonBackground = Utils.getColorStateListDefaultColor(mContext,
R.color.media_dialog_item_background);
mColorItemBackground = Utils.getColorStateListDefaultColor(mContext,
android.R.color.system_accent2_50);
}
void start(@NonNull Callback cb) {
@@ -350,14 +353,16 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
isDarkTheme);
if (isDarkTheme) {
mColorActiveItem = mCurrentColorScheme.getNeutral1().get(10);
mColorInactiveItem = mCurrentColorScheme.getAccent1().get(2);
mColorSeekbarProgress = mCurrentColorScheme.getAccent1().get(3);
mColorInactiveItem = mCurrentColorScheme.getNeutral1().get(10);
mColorSeekbarProgress = mCurrentColorScheme.getAccent1().get(2);
mColorButtonBackground = mCurrentColorScheme.getAccent1().get(2);
mColorItemBackground = mCurrentColorScheme.getAccent2().get(0);
} else {
mColorActiveItem = mCurrentColorScheme.getNeutral1().get(10);
mColorInactiveItem = mCurrentColorScheme.getAccent1().get(7);
mColorSeekbarProgress = mCurrentColorScheme.getAccent1().get(3);
mColorButtonBackground = mCurrentColorScheme.getAccent2().get(1);
mColorButtonBackground = mCurrentColorScheme.getAccent1().get(3);
mColorItemBackground = mCurrentColorScheme.getAccent2().get(0);
}
}
@@ -377,6 +382,10 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
return mColorButtonBackground;
}
public int getColorItemBackground() {
return mColorItemBackground;
}
private void buildMediaDevices(List<MediaDevice> devices) {
// For the first time building list, to make sure the top device is the connected device.
if (mMediaDevices.isEmpty()) {