summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2014-07-08 18:45:21 -0400
committerJohn Spurlock <jspurlock@google.com>2014-07-08 21:42:15 -0400
commit360e15bdd2efbd0f1693e335119e17c1a0f944fc (patch)
tree58d72329ecd95b0c0b1f445205616e633f431af6 /packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java
parenta05e59d12b410638e97bc2d88c64442c47907fe3 (diff)
downloadframeworks_base-360e15bdd2efbd0f1693e335119e17c1a0f944fc.zip
frameworks_base-360e15bdd2efbd0f1693e335119e17c1a0f944fc.tar.gz
frameworks_base-360e15bdd2efbd0f1693e335119e17c1a0f944fc.tar.bz2
QS: Signal tile optimizations.
- Only set visibility if changed (all tiles) - Only animate traffic indicators if showing panel Change-Id: I4ca750f65e1f1d36daeaf39668da4d2dc6f496d5
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java')
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java32
1 files changed, 19 insertions, 13 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java b/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java
index d5fe033..d9447f7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java
@@ -42,15 +42,17 @@ public final class SignalTileView extends QSTileView {
public SignalTileView(Context context) {
super(context);
- mIn = new ImageView(context);
- mIn.setImageResource(R.drawable.ic_qs_signal_in);
- mIn.setColorFilter(FILTER);
- addView(mIn);
+ mIn = addTrafficView(R.drawable.ic_qs_signal_in);
+ mOut = addTrafficView(R.drawable.ic_qs_signal_out);
+ }
- mOut = new ImageView(context);
- mOut.setImageResource(R.drawable.ic_qs_signal_out);
- mOut.setColorFilter(FILTER);
- addView(mOut);
+ private ImageView addTrafficView(int icon) {
+ final ImageView traffic = new ImageView(mContext);
+ traffic.setImageResource(icon);
+ traffic.setColorFilter(FILTER);
+ traffic.setAlpha(0f);
+ addView(traffic);
+ return traffic;
}
@Override
@@ -102,18 +104,22 @@ public final class SignalTileView extends QSTileView {
} else {
mOverlay.setVisibility(GONE);
}
- setVisibility(mIn, s.activityIn);
- setVisibility(mOut, s.activityOut);
+ final boolean shown = isShown();
+ setVisibility(mIn, shown, s.activityIn);
+ setVisibility(mOut, shown, s.activityOut);
}
- private void setVisibility(View view, boolean visible) {
- final float newAlpha = visible ? 1 : 0;
- if (view.getAlpha() != newAlpha) {
+ private void setVisibility(View view, boolean shown, boolean visible) {
+ final float newAlpha = shown && visible ? 1 : 0;
+ if (view.getAlpha() == newAlpha) return;
+ if (shown) {
view.animate()
.setDuration(visible ? SHORT_DURATION : DEFAULT_DURATION)
.alpha(newAlpha)
.withLayer()
.start();
+ } else {
+ view.setAlpha(newAlpha);
}
}
} \ No newline at end of file