diff options
4 files changed, 17 insertions, 24 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt index 9b852df88604..71b622aa0608 100644 --- a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +++ b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt @@ -61,8 +61,6 @@ import com.android.systemui.plugins.clocks.ClockTickRate import com.android.systemui.plugins.clocks.WeatherData import com.android.systemui.plugins.clocks.ZenData import com.android.systemui.plugins.clocks.ZenData.ZenMode -import com.android.systemui.power.domain.interactor.PowerInteractor -import com.android.systemui.power.shared.model.ScreenPowerState import com.android.systemui.res.R as SysuiR import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.settings.UserTracker @@ -108,7 +106,6 @@ constructor( private val zenModeController: ZenModeController, private val zenModeInteractor: ZenModeInteractor, private val userTracker: UserTracker, - private val powerInteractor: PowerInteractor, ) { var loggers = listOf( @@ -380,12 +377,12 @@ constructor( override fun onTimeChanged() { refreshTime() } - } - private fun refreshTime() { - clock?.smallClock?.events?.onTimeTick() - clock?.largeClock?.events?.onTimeTick() - } + private fun refreshTime() { + clock?.smallClock?.events?.onTimeTick() + clock?.largeClock?.events?.onTimeTick() + } + } @VisibleForTesting internal fun listenForDnd(scope: CoroutineScope): Job { @@ -477,7 +474,6 @@ constructor( listenForAnyStateToAodTransition(this) listenForAnyStateToLockscreenTransition(this) listenForAnyStateToDozingTransition(this) - listenForScreenPowerOn(this) } } smallTimeListener?.update(shouldTimeListenerRun) @@ -647,17 +643,6 @@ constructor( } } - @VisibleForTesting - internal fun listenForScreenPowerOn(scope: CoroutineScope): Job { - return scope.launch { - powerInteractor.screenPowerState.collect { powerState -> - if (powerState != ScreenPowerState.SCREEN_OFF) { - refreshTime() - } - } - } - } - class TimeListener(val clockFace: ClockFaceController, val executor: DelayableExecutor) { val predrawListener = ViewTreeObserver.OnPreDrawListener { diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 7d291c311ca3..48cbaec007e3 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -3328,6 +3328,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } } + /** Triggers an out of band time update */ + public void triggerTimeUpdate() { + mHandler.sendEmptyMessage(MSG_TIME_UPDATE); + } + /** * Handle {@link #MSG_TIME_UPDATE} */ diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java index 591383999182..1d36076347bf 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java @@ -72,6 +72,7 @@ import com.android.internal.policy.IKeyguardDrawnCallback; import com.android.internal.policy.IKeyguardExitCallback; import com.android.internal.policy.IKeyguardService; import com.android.internal.policy.IKeyguardStateCallback; +import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.mediator.ScreenOnCoordinator; import com.android.systemui.SystemUIApplication; import com.android.systemui.dagger.qualifiers.Application; @@ -331,6 +332,7 @@ public class KeyguardService extends Service { } }; private final KeyguardServiceLockNowInteractor mKeyguardServiceLockNowInteractor; + private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; @Inject public KeyguardService( @@ -356,7 +358,8 @@ public class KeyguardService extends Service { KeyguardDismissInteractor keyguardDismissInteractor, Lazy<DeviceEntryInteractor> deviceEntryInteractorLazy, KeyguardStateCallbackInteractor keyguardStateCallbackInteractor, - KeyguardServiceLockNowInteractor keyguardServiceLockNowInteractor) { + KeyguardServiceLockNowInteractor keyguardServiceLockNowInteractor, + KeyguardUpdateMonitor keyguardUpdateMonitor) { super(); mKeyguardViewMediator = keyguardViewMediator; mKeyguardLifecyclesDispatcher = keyguardLifecyclesDispatcher; @@ -389,6 +392,7 @@ public class KeyguardService extends Service { mKeyguardWakeDirectlyToGoneInteractor = keyguardWakeDirectlyToGoneInteractor; mKeyguardDismissInteractor = keyguardDismissInteractor; mKeyguardServiceLockNowInteractor = keyguardServiceLockNowInteractor; + mKeyguardUpdateMonitor = keyguardUpdateMonitor; } @Override @@ -585,6 +589,7 @@ public class KeyguardService extends Service { mPowerInteractor.onScreenPowerStateUpdated(ScreenPowerState.SCREEN_TURNING_ON); mKeyguardLifecyclesDispatcher.dispatch(KeyguardLifecyclesDispatcher.SCREEN_TURNING_ON, callback); + mKeyguardUpdateMonitor.triggerTimeUpdate(); final String onDrawWaitingTraceTag = "Waiting for KeyguardDrawnCallback#onDrawn"; final int traceCookie = System.identityHashCode(callback); @@ -620,6 +625,7 @@ public class KeyguardService extends Service { checkPermission(); mPowerInteractor.onScreenPowerStateUpdated(ScreenPowerState.SCREEN_ON); mKeyguardLifecyclesDispatcher.dispatch(KeyguardLifecyclesDispatcher.SCREEN_TURNED_ON); + mKeyguardUpdateMonitor.triggerTimeUpdate(); mScreenOnCoordinator.onScreenTurnedOn(); Trace.endSection(); } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/ClockEventControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/ClockEventControllerTest.kt index 1729a4dfa945..bac2c47f51c7 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/ClockEventControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/ClockEventControllerTest.kt @@ -55,7 +55,6 @@ import com.android.systemui.plugins.clocks.ClockTickRate import com.android.systemui.plugins.clocks.ThemeConfig import com.android.systemui.plugins.clocks.ZenData import com.android.systemui.plugins.clocks.ZenData.ZenMode -import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.BatteryController @@ -132,7 +131,6 @@ class ClockEventControllerTest : SysuiTestCase() { @Mock private lateinit var parentView: View @Mock private lateinit var keyguardTransitionInteractor: KeyguardTransitionInteractor @Mock private lateinit var userTracker: UserTracker - @Mock private lateinit var powerInteractor: PowerInteractor @Mock private lateinit var zenModeController: ZenModeController private var zenModeControllerCallback: ZenModeController.Callback? = null @@ -180,7 +178,6 @@ class ClockEventControllerTest : SysuiTestCase() { zenModeController, zenModeInteractor, userTracker, - powerInteractor, ) underTest.clock = clock |