diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java index 8517d9086fc7..c2af95e66fe9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java @@ -165,7 +165,7 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C mClockVisibleByUser = bundle.getBoolean(VISIBLE_BY_USER, true); mShowSeconds = bundle.getBoolean(SHOW_SECONDS, false); if (bundle.containsKey(VISIBILITY)) { - setVisibility(bundle.getInt(VISIBILITY)); + super.setVisibility(bundle.getInt(VISIBILITY)); } } @@ -203,6 +203,7 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C // Make sure we update to the current time updateClock(); + updateClockVisibility(); updateShowSeconds(); } @@ -247,6 +248,15 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C } }; + @Override + public void setVisibility(int visibility) { + if (visibility == View.VISIBLE && !shouldBeVisible()) { + return; + } + + super.setVisibility(visibility); + } + public void setClockVisibleByUser(boolean visible) { mClockVisibleByUser = visible; updateClockVisibility(); @@ -257,11 +267,15 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C updateClockVisibility(); } + private boolean shouldBeVisible() { + return mClockVisibleByPolicy && mClockVisibleByUser; + } + private void updateClockVisibility() { - boolean visible = mClockVisibleByPolicy && mClockVisibleByUser; + boolean visible = shouldBeVisible(); Dependency.get(IconLogger.class).onIconVisibility("clock", visible); int visibility = visible ? View.VISIBLE : View.GONE; - setVisibility(visibility); + super.setVisibility(visibility); } final void updateClock() { |