diff options
author | Jorim Jaggi <jjaggi@google.com> | 2014-07-28 14:49:13 +0200 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2014-07-28 15:05:15 +0200 |
commit | 0d266899da8f612194a8393ec69c4fd870f2f45c (patch) | |
tree | 3c4f0f7d20754d446e7cd9295b54a3dcbf4bbc5b | |
parent | e9a455441818358804017ba29a4dac89b5ae4644 (diff) | |
download | frameworks_base-0d266899da8f612194a8393ec69c4fd870f2f45c.zip frameworks_base-0d266899da8f612194a8393ec69c4fd870f2f45c.tar.gz frameworks_base-0d266899da8f612194a8393ec69c4fd870f2f45c.tar.bz2 |
Fix status icon reappearing for legacy activities
When closing the shade, and underneath was an activity without
colored status bars, the animation for letting the status icons
reappear was strange and the icons faded from 0% alpha. The cause was
possibly that we set hasOverlappingRendering on the whole group but
but inner views used layers for setting the alpha value which
violated the contract in the documentation of
hasOverlappingRendering: "The current implementation of the saveLayer
and saveLayerAlpha methods in Canvas necessitates that a View return
true if it uses the methods internally without passing the
CLIP_TO_LAYER_SAVE_FLAG."
Change-Id: I4b0accc8ec3fb8cb553c6860eb7dba8a12d04364
3 files changed, 12 insertions, 1 deletions
diff --git a/packages/SystemUI/res/layout/status_bar.xml b/packages/SystemUI/res/layout/status_bar.xml index 595d731..19dc36d 100644 --- a/packages/SystemUI/res/layout/status_bar.xml +++ b/packages/SystemUI/res/layout/status_bar.xml @@ -87,7 +87,8 @@ android:layout_height="match_parent" android:gravity="center_vertical" > - <LinearLayout android:id="@+id/statusIcons" + <com.android.systemui.statusbar.AlphaOptimizedLinearLayout + android:id="@+id/statusIcons" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center_vertical" diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 5e48258..b9ffdbb 100755 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -402,6 +402,11 @@ public class BatteryMeterView extends View implements DemoMode { } } + @Override + public boolean hasOverlappingRendering() { + return false; + } + private boolean mDemoMode; private BatteryTracker mDemoTracker = new BatteryTracker(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index f5d4889..8bae19a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -167,6 +167,11 @@ public class SignalClusterView apply(); } + @Override + public boolean hasOverlappingRendering() { + return false; + } + private void applyInetProblem(ImageView iv) { iv.setColorFilter(Build.IS_DEBUGGABLE && mInetProblem ? PROBLEM_FILTER : null); } |