diff options
author | Rohan Shah <shahrk@google.com> | 2018-03-09 15:11:58 -0800 |
---|---|---|
committer | Rohan Shah <shahrk@google.com> | 2018-03-26 15:10:28 -0700 |
commit | bc204efbe5602e130fbe666d6ea2b5185d42b0c4 (patch) | |
tree | 51d1a3bc6542459cfd710ab12ae53cc66ab090c2 /packages/SystemUI/src/com/android/systemui/BatteryMeterView.java | |
parent | 8404d082c41d6e3510d072df0df5739b3ccccc3a (diff) |
[QS] Update landscape UI
Shorten status bar height in landscape and update colors to use
wallpaperTextColor when in landscape mode.
Additionally modified scrim opacity for the QS panel to provide more
contrast/focus on content.
Test: Visually
Bug: 73808887
Change-Id: I74713587ca426020cb15960800a4d2b6ac5f6466
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/BatteryMeterView.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/BatteryMeterView.java | 56 |
1 files changed, 46 insertions, 10 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 1ae06d751255..0683514f6f2a 100644 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -81,6 +81,14 @@ public class BatteryMeterView extends LinearLayout implements private float mDarkIntensity; private int mUser; + /** + * Whether we should use colors that adapt based on wallpaper/the scrim behind quick settings. + */ + private boolean mUseWallpaperTextColors; + + private int mNonAdaptedForegroundColor; + private int mNonAdaptedBackgroundColor; + public BatteryMeterView(Context context) { this(context, null, 0); } @@ -140,6 +148,29 @@ public class BatteryMeterView extends LinearLayout implements updateShowPercent(); } + /** + * Sets whether the battery meter view uses the wallpaperTextColor. If we're not using it, we'll + * revert back to dark-mode-based/tinted colors. + * + * @param shouldUseWallpaperTextColor whether we should use wallpaperTextColor for all + * components + */ + public void useWallpaperTextColor(boolean shouldUseWallpaperTextColor) { + if (shouldUseWallpaperTextColor == mUseWallpaperTextColors) { + return; + } + + mUseWallpaperTextColors = shouldUseWallpaperTextColor; + + if (mUseWallpaperTextColors) { + updateColors( + Utils.getColorAttr(mContext, R.attr.wallpaperTextColor), + Utils.getColorAttr(mContext, R.attr.wallpaperTextColorSecondary)); + } else { + updateColors(mNonAdaptedForegroundColor, mNonAdaptedBackgroundColor); + } + } + public void setColorsFromContext(Context context) { if (context == null) { return; @@ -179,7 +210,8 @@ public class BatteryMeterView extends LinearLayout implements getContext().getContentResolver().registerContentObserver( Settings.System.getUriFor(SHOW_BATTERY_PERCENT), false, mSettingObserver, mUser); updateShowPercent(); - Dependency.get(TunerService.class).addTunable(this, StatusBarIconController.ICON_BLACKLIST); + Dependency.get(TunerService.class) + .addTunable(this, StatusBarIconController.ICON_BLACKLIST); Dependency.get(ConfigurationController.class).addCallback(this); mUserTracker.startTracking(); } @@ -273,19 +305,23 @@ public class BatteryMeterView extends LinearLayout implements @Override public void onDarkChanged(Rect area, float darkIntensity, int tint) { mDarkIntensity = darkIntensity; + float intensity = DarkIconDispatcher.isInArea(area, this) ? darkIntensity : 0; - int foreground = getColorForDarkIntensity(intensity, mLightModeFillColor, - mDarkModeFillColor); - int background = getColorForDarkIntensity(intensity, mLightModeBackgroundColor, - mDarkModeBackgroundColor); - mDrawable.setColors(foreground, background); - setTextColor(foreground); + mNonAdaptedForegroundColor = getColorForDarkIntensity( + intensity, mLightModeFillColor, mDarkModeFillColor); + mNonAdaptedBackgroundColor = getColorForDarkIntensity( + intensity, mLightModeBackgroundColor,mDarkModeBackgroundColor); + + if (!mUseWallpaperTextColors) { + updateColors(mNonAdaptedForegroundColor, mNonAdaptedBackgroundColor); + } } - public void setTextColor(int color) { - mTextColor = color; + private void updateColors(int foregroundColor, int backgroundColor) { + mDrawable.setColors(foregroundColor, backgroundColor); + mTextColor = foregroundColor; if (mBatteryPercentView != null) { - mBatteryPercentView.setTextColor(color); + mBatteryPercentView.setTextColor(foregroundColor); } } |