summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2013-09-06 18:26:55 -0400
committerJohn Spurlock <jspurlock@google.com>2013-09-06 18:35:50 -0400
commit21efa9ade3a5ff1854bf53a3fdf964d598ef9783 (patch)
treee74380111854432f9023d8016cce268c2b6d609b /packages/SystemUI/src/com/android
parentf96b104a7f6e4c2a8883b6d4de69e6de24aa8edc (diff)
downloadframeworks_base-21efa9ade3a5ff1854bf53a3fdf964d598ef9783.zip
frameworks_base-21efa9ade3a5ff1854bf53a3fdf964d598ef9783.tar.gz
frameworks_base-21efa9ade3a5ff1854bf53a3fdf964d598ef9783.tar.bz2
Update signal, wifi, battery assets + global dimming.
Global status bar dimming is now 75%. Signal/wifi: use problem color if not fully connected. Battery: frame 40% white, charge level = white, new hollow bolt. (hollow bolt simulated for now until we can draw it in code) Update ic_notification_overlay, all sizes. Workaround animation bug on tablets. Bug:10502089 Change-Id: I10f979b7a48ccb1bc94022d8c189ec216283dbe6
Diffstat (limited to 'packages/SystemUI/src/com/android')
-rwxr-xr-xpackages/SystemUI/src/com/android/systemui/BatteryMeterView.java26
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java23
2 files changed, 27 insertions, 22 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
index 6a0f6e3..be5c326 100755
--- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
+++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
@@ -23,6 +23,7 @@ import android.content.IntentFilter;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Canvas;
+import android.graphics.LightingColorFilter;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
@@ -42,6 +43,11 @@ public class BatteryMeterView extends View implements DemoMode {
public static final boolean SINGLE_DIGIT_PERCENT = false;
public static final boolean SHOW_100_PERCENT = false;
+ private static final LightingColorFilter LIGHTNING_FILTER_OPAQUE =
+ new LightingColorFilter(0x00000000, 0x00000000);
+ private static final LightingColorFilter LIGHTNING_FILTER_TRANS =
+ new LightingColorFilter(0x00999999, 0x00000000);
+
public static final int FULL = 96;
public static final int EMPTY = 4;
@@ -214,6 +220,15 @@ public class BatteryMeterView extends View implements DemoMode {
return color;
}
+ // TODO jspurlock - remove once we draw hollow bolt in code
+ public void setBarTransparent(boolean isTransparent) {
+ mLightning.setColorFilter(isTransparent ? LIGHTNING_FILTER_TRANS : LIGHTNING_FILTER_OPAQUE);
+ BatteryTracker tracker = mDemoMode ? mDemoTracker : mTracker;
+ if (tracker.plugged) {
+ postInvalidate();
+ }
+ }
+
@Override
public void draw(Canvas c) {
BatteryTracker tracker = mDemoMode ? mDemoTracker : mTracker;
@@ -290,17 +305,6 @@ public class BatteryMeterView extends View implements DemoMode {
x,
y,
mTextPaint);
-
-// Paint pt = new Paint();
-// pt.setStrokeWidth(1f);
-// pt.setStyle(Paint.Style.STROKE);
-// pt.setColor(0xFFFF0000);
-// c.drawRect(x, y-mTextHeight, x+tw, y, pt);
-//
-// Slog.v(TAG, "tw=" + tw + " th=" + mTextHeight);
-//
-// pt.setColor(0xFFFF00FF);
-// c.drawRect(1, 1, mWidth, mHeight, pt);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index 63e0c7a..f8b6ca6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -16,11 +16,6 @@
package com.android.systemui.statusbar.phone;
-import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT;
-import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT;
-
-import android.animation.Animator;
-import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.app.ActivityManager;
import android.content.Context;
@@ -33,6 +28,7 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
+import com.android.systemui.BatteryMeterView;
import com.android.systemui.EventLogTags;
import com.android.systemui.R;
@@ -59,6 +55,7 @@ public class PhoneStatusBarView extends PanelBar {
private final float mAlphaWhenTransparent = 1;
private View mLeftSide;
private View mRightSide;
+ private BatteryMeterView mBattery;
public StatusBarTransitions(Context context) {
super(context, PhoneStatusBarView.this);
@@ -70,6 +67,7 @@ public class PhoneStatusBarView extends PanelBar {
public void init() {
mLeftSide = findViewById(R.id.notification_icon_area);
mRightSide = findViewById(R.id.system_icon_area);
+ mBattery = (BatteryMeterView) findViewById(R.id.battery);
applyMode(getMode(), false /*animate*/);
}
@@ -84,8 +82,11 @@ public class PhoneStatusBarView extends PanelBar {
}
public float getAlphaFor(int mode) {
- final boolean isTransparent = mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSPARENT;
- return isTransparent ? mAlphaWhenTransparent : mAlphaWhenOpaque;
+ return isTransparent(mode) ? mAlphaWhenTransparent : mAlphaWhenOpaque;
+ }
+
+ private boolean isTransparent(int mode) {
+ return mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSPARENT;
}
@Override
@@ -96,13 +97,13 @@ public class PhoneStatusBarView extends PanelBar {
private void applyMode(int mode, boolean animate) {
if (mLeftSide == null || mRightSide == null) return;
+ mBattery.setBarTransparent(isTransparent(mode));
float newAlpha = getAlphaFor(mode);
if (animate) {
ObjectAnimator lhs = animateTransitionTo(mLeftSide, newAlpha);
- ObjectAnimator rhs = animateTransitionTo(mRightSide, newAlpha);
- AnimatorSet set = new AnimatorSet();
- set.playTogether(lhs, rhs);
- set.start();
+ lhs.start();
+ // TODO jspurlock - fix conflicting rhs animations on tablets
+ mRightSide.setAlpha(newAlpha);
} else {
mLeftSide.setAlpha(newAlpha);
mRightSide.setAlpha(newAlpha);