diff options
author | John Spurlock <jspurlock@google.com> | 2013-09-06 18:26:55 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-09-06 18:35:50 -0400 |
commit | 21efa9ade3a5ff1854bf53a3fdf964d598ef9783 (patch) | |
tree | e74380111854432f9023d8016cce268c2b6d609b /packages/SystemUI/src/com/android | |
parent | f96b104a7f6e4c2a8883b6d4de69e6de24aa8edc (diff) | |
download | frameworks_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-x | packages/SystemUI/src/com/android/systemui/BatteryMeterView.java | 26 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java | 23 |
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); |