diff --git a/packages/SystemUI/res/layout/qs_panel.xml b/packages/SystemUI/res/layout/qs_panel.xml
index 4527c6c793d5d..89bf12d70b841 100644
--- a/packages/SystemUI/res/layout/qs_panel.xml
+++ b/packages/SystemUI/res/layout/qs_panel.xml
@@ -29,25 +29,6 @@
android:elevation="4dp"
android:background="@drawable/qs_background_primary" />
-
-
-
-
-
-
+ android:textAppearance="@style/TextAppearance.StatusBar.Clock" />
{
if (mHeader.getHeaderQsPanel().isShown()) {
mAnimateBottomOnNextLayout = true;
@@ -117,7 +113,6 @@ public class QSContainerImpl extends FrameLayout {
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
- setBackgroundGradientVisibility(newConfig);
mSizePoint.set(0, 0); // Will be retrieved on next measure pass.
}
@@ -186,7 +181,6 @@ public class QSContainerImpl extends FrameLayout {
final boolean disabled = (state2 & DISABLE2_QUICK_SETTINGS) != 0;
if (disabled == mQsDisabled) return;
mQsDisabled = disabled;
- setBackgroundGradientVisibility(getResources().getConfiguration());
mBackground.setVisibility(mQsDisabled ? View.GONE : View.VISIBLE);
}
@@ -252,16 +246,6 @@ public class QSContainerImpl extends FrameLayout {
+ mHeader.getHeight();
}
- private void setBackgroundGradientVisibility(Configuration newConfig) {
- if (newConfig.orientation == ORIENTATION_LANDSCAPE) {
- mBackgroundGradient.setVisibility(View.INVISIBLE);
- mStatusBarBackground.setVisibility(View.INVISIBLE);
- } else {
- mBackgroundGradient.setVisibility(mQsDisabled ? View.INVISIBLE : View.VISIBLE);
- mStatusBarBackground.setVisibility(View.VISIBLE);
- }
- }
-
public void setExpansion(float expansion) {
mQsExpansion = expansion;
mDragHandle.setAlpha(1.0f - expansion);
@@ -271,8 +255,7 @@ public class QSContainerImpl extends FrameLayout {
private void updatePaddingsAndMargins(QSPanelController qsPanelController) {
for (int i = 0; i < getChildCount(); i++) {
View view = getChildAt(i);
- if (view == mStatusBarBackground || view == mBackgroundGradient
- || view == mQSCustomizer) {
+ if (view == mQSCustomizer) {
// Some views are always full width or have dependent padding
continue;
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index e2748fcb2fc20..09894e58231ab 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -137,10 +137,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
updateResources();
- Rect tintArea = new Rect(0, 0, 0, 0);
- // Set light text on the header icons because they will always be on a black background
- applyDarkness(R.id.clock, tintArea, 0, DarkIconDispatcher.DEFAULT_ICON_TINT);
-
mClockView = findViewById(R.id.clock);
mSpace = findViewById(R.id.space);
@@ -158,7 +154,14 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
android.R.attr.colorForeground);
float intensity = getColorIntensity(colorForeground);
int fillColor = mDualToneHandler.getSingleColor(intensity);
+
+ Rect tintArea = new Rect(0, 0, 0, 0);
mBatteryRemainingIcon.onDarkChanged(tintArea, intensity, fillColor);
+
+ // The quick settings status bar clock depends on the color of the background scrim and
+ // can be different from the status bar clock color.
+ mClockView.setTextColor(
+ Utils.getColorAttrDefaultColor(mContext, R.attr.wallpaperTextColor));
}
void onAttach(TintedIconManager iconManager) {
@@ -231,13 +234,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
!Objects.equals(originalAlarmText, mNextAlarmTextView.getText());
}
- private void applyDarkness(int id, Rect tintArea, float intensity, int color) {
- View v = findViewById(id);
- if (v instanceof DarkReceiver) {
- ((DarkReceiver) v).onDarkChanged(tintArea, intensity, color);
- }
- }
-
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java
index cb744f72ee980..5ee9df4783429 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java
@@ -34,8 +34,10 @@ import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;
+import com.android.internal.colorextraction.ColorExtractor;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.R;
+import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.demomode.DemoMode;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.plugins.ActivityStarter;
@@ -99,6 +101,9 @@ class QuickStatusBarHeaderController extends ViewController {
+ final boolean lightTheme = mColorExtractor.getNeutralColors().supportsDarkText();
+ mClockView.onColorsChanged(lightTheme);
+ };
+ mColorExtractor.addOnColorsChangedListener(mOnColorsChangedListener);
}
@Override
@@ -281,6 +293,7 @@ class QuickStatusBarHeaderController extends ViewController