diff --git a/packages/SystemUI/res/layout/volume_dialog.xml b/packages/SystemUI/res/layout/volume_dialog.xml
index c70e8296340e2..e67bb60555f36 100644
--- a/packages/SystemUI/res/layout/volume_dialog.xml
+++ b/packages/SystemUI/res/layout/volume_dialog.xml
@@ -93,7 +93,7 @@
android:layout_gravity="center"
android:contentDescription="@string/accessibility_volume_settings"
android:background="@drawable/ripple_drawable_20dp"
- android:tint="?android:attr/textColorHint"
+ android:tint="?android:attr/textColorSecondary"
android:soundEffectsEnabled="false" />
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index d8607ccf0f37e..d675d0f829060 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -125,9 +125,6 @@
#4dffffff
#ffffff
- #7fffffff
- @*android:color/quaternary_device_default_settings
-
#ff000000
#ffffff
#59000000
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index 03474a8c3385a..ed243ef6a417a 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -43,8 +43,10 @@ import android.content.Intent;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.PixelFormat;
+import android.graphics.PorterDuff;
import android.graphics.drawable.ColorDrawable;
import android.media.AudioManager;
import android.media.AudioSystem;
@@ -90,6 +92,7 @@ import com.android.systemui.plugins.VolumeDialog;
import com.android.systemui.plugins.VolumeDialogController;
import com.android.systemui.plugins.VolumeDialogController.State;
import com.android.systemui.plugins.VolumeDialogController.StreamState;
+import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
@@ -131,8 +134,10 @@ public class VolumeDialogImpl implements VolumeDialog {
private final AccessibilityManagerWrapper mAccessibilityMgr;
private final Object mSafetyWarningLock = new Object();
private final Accessibility mAccessibility = new Accessibility();
- private final ColorStateList mActiveTint;
- private final ColorStateList mInactiveTint;
+ private ColorStateList mActiveTint;
+ private int mActiveAlpha;
+ private ColorStateList mInactiveTint;
+ private int mInactiveAlpha;
private boolean mShowing;
private boolean mShowA11yStream;
@@ -150,8 +155,6 @@ public class VolumeDialogImpl implements VolumeDialog {
mController = Dependency.get(VolumeDialogController.class);
mKeyguard = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
mAccessibilityMgr = Dependency.get(AccessibilityManagerWrapper.class);
- mActiveTint = ColorStateList.valueOf(Utils.getColorAccent(mContext));
- mInactiveTint = loadColorStateList(R.color.volume_slider_inactive);
mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class);
}
@@ -224,6 +227,12 @@ public class VolumeDialogImpl implements VolumeDialog {
return true;
});
+ mActiveTint = ColorStateList.valueOf(Utils.getColorAccent(mContext));
+ mActiveAlpha = Color.alpha(mActiveTint.getDefaultColor());
+ mInactiveTint = ColorStateList.valueOf(
+ Utils.getColorAttr(mContext, android.R.attr.colorForeground));
+ mInactiveAlpha = getAlphaAttr(android.R.attr.secondaryContentAlpha);
+
mDialogRowsView = mDialog.findViewById(R.id.volume_dialog_rows);
mRinger = mDialog.findViewById(R.id.ringer);
mRingerIcon = mRinger.findViewById(R.id.ringer_icon);
@@ -263,8 +272,11 @@ public class VolumeDialogImpl implements VolumeDialog {
return mDialogView;
}
- private ColorStateList loadColorStateList(int colorResId) {
- return ColorStateList.valueOf(mContext.getColor(colorResId));
+ private int getAlphaAttr(int attr) {
+ TypedArray ta = mContext.obtainStyledAttributes(new int[]{attr});
+ float alpha = ta.getFloat(0, 0);
+ ta.recycle();
+ return (int) (alpha * 255);
}
private boolean isLandscape() {
@@ -890,12 +902,16 @@ public class VolumeDialogImpl implements VolumeDialog {
if (isActive) {
row.slider.requestFocus();
}
- final ColorStateList tint = isActive && row.slider.isEnabled() ? mActiveTint
- : mInactiveTint;
+ boolean useActiveColoring = isActive && row.slider.isEnabled();
+ final ColorStateList tint = useActiveColoring ? mActiveTint : mInactiveTint;
+ final int alpha = useActiveColoring ? mActiveAlpha : mInactiveAlpha;
if (tint == row.cachedTint) return;
row.slider.setProgressTintList(tint);
row.slider.setThumbTintList(tint);
+ row.slider.setProgressBackgroundTintList(tint);
+ row.slider.setAlpha(((float) alpha) / 255);
row.icon.setImageTintList(tint);
+ row.icon.setImageAlpha(alpha);
row.cachedTint = tint;
}