summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2015-01-21 22:23:48 +0100
committerJorim Jaggi <jjaggi@google.com>2015-02-04 12:44:22 +0100
commitdd0107a0dbe3084af8f5da005a4d96f8657f58a1 (patch)
tree0268ad81d7cecdc57bc0c53b9961b7c2ec37c368 /packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
parentc37fa833ada2981b479a7582010a173ff9adc5bf (diff)
downloadframeworks_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-xpackages/SystemUI/src/com/android/systemui/BatteryMeterView.java25
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;