From 8a4522dceb22413b96dac180ba1301a8c30652a4 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Wed, 26 Jul 2017 21:48:06 -0700 Subject: [PATCH] Add theme variables to SysUI dump Dumping current themes and scrim states to make debugging easier. Bug: 63890571 Test: adb bugreport # look for new variables Change-Id: Ia9bfd1b91d8d2c19930cb896d337ecdfa776e6cb --- .../colorextraction/ColorExtractor.java | 6 ++--- .../colorextraction/SysuiColorExtractor.java | 23 ++++++++++++++++++- .../systemui/statusbar/phone/StatusBar.java | 8 +++++++ 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/core/java/com/android/internal/colorextraction/ColorExtractor.java b/core/java/com/android/internal/colorextraction/ColorExtractor.java index 477285e63f371..727412b03e287 100644 --- a/core/java/com/android/internal/colorextraction/ColorExtractor.java +++ b/core/java/com/android/internal/colorextraction/ColorExtractor.java @@ -45,12 +45,12 @@ public class ColorExtractor implements WallpaperManager.OnColorsChangedListener private static final String TAG = "ColorExtractor"; - private final SparseArray mGradientColors; + protected final SparseArray mGradientColors; private final ArrayList> mOnColorsChangedListeners; private final Context mContext; private final ExtractionType mExtractionType; - private WallpaperColors mSystemColors; - private WallpaperColors mLockColors; + protected WallpaperColors mSystemColors; + protected WallpaperColors mLockColors; public ColorExtractor(Context context) { this(context, new Tonal(context)); diff --git a/packages/SystemUI/src/com/android/systemui/colorextraction/SysuiColorExtractor.java b/packages/SystemUI/src/com/android/systemui/colorextraction/SysuiColorExtractor.java index 61cbc98c60857..9ba7be86aa0a8 100644 --- a/packages/SystemUI/src/com/android/systemui/colorextraction/SysuiColorExtractor.java +++ b/packages/SystemUI/src/com/android/systemui/colorextraction/SysuiColorExtractor.java @@ -31,11 +31,16 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.colorextraction.ColorExtractor; import com.android.internal.colorextraction.types.ExtractionType; import com.android.internal.colorextraction.types.Tonal; +import com.android.systemui.Dumpable; + +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.Arrays; /** * ColorExtractor aware of wallpaper visibility */ -public class SysuiColorExtractor extends ColorExtractor { +public class SysuiColorExtractor extends ColorExtractor implements Dumpable { private static final String TAG = "SysuiColorExtractor"; private boolean mWallpaperVisible; // Colors to return when the wallpaper isn't visible @@ -154,4 +159,20 @@ public class SysuiColorExtractor extends ColorExtractor { } } + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("SysuiColorExtractor:"); + + pw.println(" Current wallpaper colors:"); + pw.println(" system: " + mSystemColors); + pw.println(" lock: " + mLockColors); + + GradientColors[] system = mGradientColors.get(WallpaperManager.FLAG_SYSTEM); + GradientColors[] lock = mGradientColors.get(WallpaperManager.FLAG_LOCK); + pw.println(" Gradients:"); + pw.println(" system: " + Arrays.toString(system)); + pw.println(" lock: " + Arrays.toString(lock)); + pw.println(" Default scrim: " + mWpHiddenColors); + + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 61f91098f8d05..0055a8c826398 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -3509,6 +3509,14 @@ public class StatusBar extends SystemUI implements DemoMode, pw.print (" "); mStackScroller.dump(fd, pw, args); } + pw.println(" Theme:"); + if (mOverlayManager == null) { + pw.println(" overlay manager not initialized!"); + } else { + pw.println(" dark overlay on: " + isUsingDarkTheme()); + } + final boolean lightWpTheme = mContext.getThemeResId() == R.style.Theme_SystemUI_Light; + pw.println(" light wallpaper theme: " + lightWpTheme); DozeLog.dump(pw);