diff options
author | Jorim Jaggi <jjaggi@google.com> | 2015-01-21 22:23:48 +0100 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2015-02-04 12:44:22 +0100 |
commit | dd0107a0dbe3084af8f5da005a4d96f8657f58a1 (patch) | |
tree | 0268ad81d7cecdc57bc0c53b9961b7c2ec37c368 /packages/SystemUI/src/com/android/systemui/BatteryMeterView.java | |
parent | c37fa833ada2981b479a7582010a173ff9adc5bf (diff) | |
download | frameworks_base-dd0107a0dbe3084af8f5da005a4d96f8657f58a1.zip frameworks_base-dd0107a0dbe3084af8f5da005a4d96f8657f58a1.tar.gz frameworks_base-dd0107a0dbe3084af8f5da005a4d96f8657f58a1.tar.bz2 |
Add ability to colorize status bar
Bug: 19233606
Change-Id: I756599395c202c4d0dd04c44beac706fc19bfe17
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/BatteryMeterView.java')
-rwxr-xr-x | packages/SystemUI/src/com/android/systemui/BatteryMeterView.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 7bdbd0a..f2f087f 100755 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -23,8 +23,12 @@ import android.content.IntentFilter; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.Path; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; import android.graphics.RectF; import android.graphics.Typeface; import android.os.BatteryManager; @@ -56,12 +60,13 @@ public class BatteryMeterView extends View implements DemoMode, private float mSubpixelSmoothingRight; private final Paint mFramePaint, mBatteryPaint, mWarningTextPaint, mTextPaint, mBoltPaint; private float mTextHeight, mWarningTextHeight; + private int mIconTint = Color.WHITE; private int mHeight; private int mWidth; private String mWarningString; private final int mCriticalLevel; - private final int mChargeColor; + private int mChargeColor; private final float[] mBoltPoints; private final Path mBoltPath = new Path(); @@ -292,11 +297,27 @@ public class BatteryMeterView extends View implements DemoMode, for (int i=0; i<mColors.length; i+=2) { thresh = mColors[i]; color = mColors[i+1]; - if (percent <= thresh) return color; + if (percent <= thresh) { + + // Respect tinting for "normal" level + if (i == mColors.length-2) { + return mIconTint; + } else { + return color; + } + } } return color; } + public void setIconTint(int tint) { + mIconTint = tint; + mFramePaint.setColorFilter(new PorterDuffColorFilter(tint, PorterDuff.Mode.SRC_ATOP)); + mBoltPaint.setColor(tint); + mChargeColor = tint; + invalidate(); + } + @Override public void draw(Canvas c) { BatteryTracker tracker = mDemoMode ? mDemoTracker : mTracker; |