From 22f46a86af031976687bb9a1f9ff8b8e39266037 Mon Sep 17 00:00:00 2001 From: Lyn Han Date: Thu, 12 Nov 2020 11:07:51 -0600 Subject: [PATCH] Clear quick settings backgrounds, update clock text color - remove qs gradient background - remove qs status bar black background - update qs status bar clock onColorsChanged (match notif label colors) - update status bar clock onDarkChanged Bug: 172289783 Test: visual - qs & qs header background clear - observe sb clock - wallpaper light ? text dark : text white - observe qs clock - scrim light ? text dark : text white Change-Id: Iff0aad81511c2cbc9ed9ecfcda03fda45d5001ae --- packages/SystemUI/res/layout/qs_panel.xml | 19 ------------------- .../quick_status_bar_header_system_icons.xml | 3 +-- .../android/systemui/qs/QSContainerImpl.java | 19 +------------------ .../systemui/qs/QuickStatusBarHeader.java | 18 +++++++----------- .../qs/QuickStatusBarHeaderController.java | 15 ++++++++++++++- .../statusbar/phone/PhoneStatusBarView.java | 4 ++++ .../systemui/statusbar/policy/Clock.java | 17 +++++++++-------- .../qs/QuickStatusBarHeaderControllerTest.kt | 6 +++++- 8 files changed, 41 insertions(+), 60 deletions(-) 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