From a476c79c3a7c22a839b109dc166112f88cc7952c Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Mon, 10 Jun 2019 18:00:22 -0700 Subject: [PATCH] Fix unreadable clock - Always use white text with shadows on media - Use lock screen colors for shade theme - Remove legacy wallpaper visibility listener - Remove shadow from black title Test: set white wallpaper Test: set dark wallpaper Test: set dark wallpaper on home, light on ls Test: set dark wallpaper on ls, light on home Test: atest SysuiColorExtractorTests Fixes: 134119878 Change-Id: I64ee2dee14322b2c02891c3ffe5fc0b25d1f100b Merged-In: I64ee2dee14322b2c02891c3ffe5fc0b25d1f100b --- .../colorextraction/ColorExtractor.java | 9 +- .../systemui/recents/RecentsActivity.java | 4 +- .../SystemUI/res-keyguard/values/styles.xml | 2 +- .../android/keyguard/KeyguardClockSwitch.java | 2 +- .../keyguard/clock/AnalogClockController.java | 2 +- .../keyguard/clock/BubbleClockController.java | 2 +- .../clock/DefaultClockController.java | 2 +- .../colorextraction/SysuiColorExtractor.java | 166 +++++------------- .../statusbar/NotificationMediaManager.java | 3 +- .../stack/NotificationStackScrollLayout.java | 10 +- .../systemui/statusbar/phone/StatusBar.java | 3 +- .../phone/StatusBarWindowController.java | 13 +- .../SysuiColorExtractorTests.java | 29 +-- .../colorextraction/ColorExtractorTest.java | 12 +- 14 files changed, 72 insertions(+), 187 deletions(-) diff --git a/core/java/com/android/internal/colorextraction/ColorExtractor.java b/core/java/com/android/internal/colorextraction/ColorExtractor.java index d9fd3b5bd6d82..b27c11b524e50 100644 --- a/core/java/com/android/internal/colorextraction/ColorExtractor.java +++ b/core/java/com/android/internal/colorextraction/ColorExtractor.java @@ -53,11 +53,13 @@ public class ColorExtractor implements WallpaperManager.OnColorsChangedListener protected WallpaperColors mLockColors; public ColorExtractor(Context context) { - this(context, new Tonal(context), true /* immediately */); + this(context, new Tonal(context), true /* immediately */, + context.getSystemService(WallpaperManager.class)); } @VisibleForTesting - public ColorExtractor(Context context, ExtractionType extractionType, boolean immediately) { + public ColorExtractor(Context context, ExtractionType extractionType, boolean immediately, + WallpaperManager wallpaperManager) { mContext = context; mExtractionType = extractionType; @@ -72,7 +74,6 @@ public class ColorExtractor implements WallpaperManager.OnColorsChangedListener mOnColorsChangedListeners = new ArrayList<>(); - WallpaperManager wallpaperManager = mContext.getSystemService(WallpaperManager.class); if (wallpaperManager == null) { Log.w(TAG, "Can't listen to color changes!"); } else { @@ -110,7 +111,7 @@ public class ColorExtractor implements WallpaperManager.OnColorsChangedListener } } - private void extractWallpaperColors() { + protected void extractWallpaperColors() { GradientColors[] systemColors = mGradientColors.get(WallpaperManager.FLAG_SYSTEM); GradientColors[] lockColors = mGradientColors.get(WallpaperManager.FLAG_LOCK); extractInto(mSystemColors, diff --git a/packages/SystemUI/legacy/recents/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/legacy/recents/src/com/android/systemui/recents/RecentsActivity.java index 79c691cf45e13..a7ccc3a490734 100644 --- a/packages/SystemUI/legacy/recents/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/legacy/recents/src/com/android/systemui/recents/RecentsActivity.java @@ -323,7 +323,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD mColorExtractor = Dependency.get(SysuiColorExtractor.class); mColorExtractor.addOnColorsChangedListener(this); mUsingDarkText = mColorExtractor.getColors(ColorExtractor.TYPE_DARK, - WallpaperManager.FLAG_SYSTEM, true).supportsDarkText(); + WallpaperManager.FLAG_SYSTEM).supportsDarkText(); setTheme(mUsingDarkText ? R.style.RecentsTheme_Wallpaper_Light : R.style.RecentsTheme_Wallpaper); @@ -394,8 +394,6 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD @Override public void onColorsChanged(ColorExtractor colorExtractor, int which) { if ((which & WallpaperManager.FLAG_SYSTEM) != 0) { - // Recents doesn't care about the wallpaper being visible or not, it always - // wants to scrim with wallpaper colors ColorExtractor.GradientColors colors = mColorExtractor.getNeutralColors(); boolean darkText = colors.supportsDarkText(); if (darkText != mUsingDarkText) { diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml index 9a042228435b2..67c4458de2f25 100644 --- a/packages/SystemUI/res-keyguard/values/styles.xml +++ b/packages/SystemUI/res-keyguard/values/styles.xml @@ -111,7 +111,7 @@ @*android:color/background_material_dark -