Loading packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockProviderPlugin.kt +4 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,10 @@ interface ClockFaceEvents { val tickRate: ClockTickRate get() = ClockTickRate.PER_MINUTE /** Call to check whether the clock consumes weather data */ val hasCustomWeatherDataDisplay: Boolean get() = false /** Region Darkness specific to the clock face */ fun onRegionDarknessChanged(isDark: Boolean) {} Loading packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +27 −7 Original line number Diff line number Diff line Loading @@ -110,7 +110,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS private final ContentObserver mShowWeatherObserver = new ContentObserver(null) { @Override public void onChange(boolean change) { setWeatherVisibility(); setDateWeatherVisibility(); } }; Loading Loading @@ -236,7 +236,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS ); updateDoubleLineClock(); setWeatherVisibility(); setDateWeatherVisibility(); mKeyguardUnlockAnimationController.addKeyguardUnlockAnimationListener( mKeyguardUnlockAnimationListener); Loading Loading @@ -337,6 +337,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } mCurrentClockSize = clockSize; setDateWeatherVisibility(); ClockController clock = getClock(); boolean appeared = mView.switchToClock(clockSize, animate); Loading Loading @@ -457,6 +458,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS mClockEventController.setClock(clock); mView.setClock(clock, mStatusBarStateController.getState()); setDateWeatherVisibility(); } @Nullable Loading @@ -478,11 +480,18 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } } private void setWeatherVisibility() { private void setDateWeatherVisibility() { if (mDateWeatherView != null || mWeatherView != null) { mUiExecutor.execute(() -> { if (mDateWeatherView != null) { mDateWeatherView.setVisibility( clockHasCustomWeatherDataDisplay() ? View.GONE : View.VISIBLE); } if (mWeatherView != null) { mUiExecutor.execute( () -> mWeatherView.setVisibility( mSmartspaceController.isWeatherEnabled() ? View.VISIBLE : View.GONE)); mWeatherView.setVisibility( mSmartspaceController.isWeatherEnabled() ? View.VISIBLE : View.GONE); } }); } } Loading Loading @@ -511,6 +520,17 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } } /** Returns true if the clock handles the display of weather information */ private boolean clockHasCustomWeatherDataDisplay() { ClockController clock = getClock(); if (clock == null) { return false; } return ((mCurrentClockSize == LARGE) ? clock.getLargeClock() : clock.getSmallClock()) .getEvents().getHasCustomWeatherDataDisplay(); } /** Gets the animations for the current clock. */ @Nullable public ClockAnimations getClockAnimations() { Loading Loading
packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockProviderPlugin.kt +4 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,10 @@ interface ClockFaceEvents { val tickRate: ClockTickRate get() = ClockTickRate.PER_MINUTE /** Call to check whether the clock consumes weather data */ val hasCustomWeatherDataDisplay: Boolean get() = false /** Region Darkness specific to the clock face */ fun onRegionDarknessChanged(isDark: Boolean) {} Loading
packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +27 −7 Original line number Diff line number Diff line Loading @@ -110,7 +110,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS private final ContentObserver mShowWeatherObserver = new ContentObserver(null) { @Override public void onChange(boolean change) { setWeatherVisibility(); setDateWeatherVisibility(); } }; Loading Loading @@ -236,7 +236,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS ); updateDoubleLineClock(); setWeatherVisibility(); setDateWeatherVisibility(); mKeyguardUnlockAnimationController.addKeyguardUnlockAnimationListener( mKeyguardUnlockAnimationListener); Loading Loading @@ -337,6 +337,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } mCurrentClockSize = clockSize; setDateWeatherVisibility(); ClockController clock = getClock(); boolean appeared = mView.switchToClock(clockSize, animate); Loading Loading @@ -457,6 +458,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS mClockEventController.setClock(clock); mView.setClock(clock, mStatusBarStateController.getState()); setDateWeatherVisibility(); } @Nullable Loading @@ -478,11 +480,18 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } } private void setWeatherVisibility() { private void setDateWeatherVisibility() { if (mDateWeatherView != null || mWeatherView != null) { mUiExecutor.execute(() -> { if (mDateWeatherView != null) { mDateWeatherView.setVisibility( clockHasCustomWeatherDataDisplay() ? View.GONE : View.VISIBLE); } if (mWeatherView != null) { mUiExecutor.execute( () -> mWeatherView.setVisibility( mSmartspaceController.isWeatherEnabled() ? View.VISIBLE : View.GONE)); mWeatherView.setVisibility( mSmartspaceController.isWeatherEnabled() ? View.VISIBLE : View.GONE); } }); } } Loading Loading @@ -511,6 +520,17 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } } /** Returns true if the clock handles the display of weather information */ private boolean clockHasCustomWeatherDataDisplay() { ClockController clock = getClock(); if (clock == null) { return false; } return ((mCurrentClockSize == LARGE) ? clock.getLargeClock() : clock.getSmallClock()) .getEvents().getHasCustomWeatherDataDisplay(); } /** Gets the animations for the current clock. */ @Nullable public ClockAnimations getClockAnimations() { Loading