Loading packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +11 −5 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.view.ViewTreeObserver.OnGlobalLayoutListener import androidx.annotation.VisibleForTesting import androidx.lifecycle.Lifecycle import androidx.lifecycle.repeatOnLifecycle import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.broadcast.BroadcastDispatcher import com.android.systemui.customization.R import com.android.systemui.dagger.qualifiers.Background Loading Loading @@ -62,6 +63,7 @@ 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.res.R as SysuiR import com.android.systemui.settings.UserTracker import com.android.systemui.shared.regionsampling.RegionSampler import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback Loading @@ -80,7 +82,6 @@ import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.merge import com.android.app.tracing.coroutines.launchTraced as launch /** * Controller for a Clock provided by the registry and used on the keyguard. Instantiated by Loading @@ -103,6 +104,7 @@ constructor( private val featureFlags: FeatureFlagsClassic, private val zenModeController: ZenModeController, private val zenModeInteractor: ZenModeInteractor, private val userTracker: UserTracker, ) { var loggers = listOf( Loading @@ -120,6 +122,10 @@ constructor( connectClock(value) } private fun is24HourFormat(userId: Int? = null): Boolean { return DateFormat.is24HourFormat(context, userId ?: userTracker.userId) } private fun disconnectClock(clock: ClockController?) { if (clock == null) { return Loading Loading @@ -186,7 +192,7 @@ constructor( var pastVisibility: Int? = null override fun onViewAttachedToWindow(view: View) { clock.events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) clock.events.onTimeFormatChanged(is24HourFormat()) // Match the asing for view.parent's layout classes. smallClockFrame = (view.parent as ViewGroup)?.also { frame -> Loading Loading @@ -218,7 +224,7 @@ constructor( largeClockOnAttachStateChangeListener = object : OnAttachStateChangeListener { override fun onViewAttachedToWindow(p0: View) { clock.events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) clock.events.onTimeFormatChanged(is24HourFormat()) } override fun onViewDetachedFromWindow(p0: View) {} Loading Loading @@ -358,7 +364,7 @@ constructor( } override fun onTimeFormatChanged(timeFormat: String?) { clock?.run { events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) } clock?.run { events.onTimeFormatChanged(is24HourFormat()) } } override fun onTimeZoneChanged(timeZone: TimeZone) { Loading @@ -366,7 +372,7 @@ constructor( } override fun onUserSwitchComplete(userId: Int) { clock?.run { events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) } clock?.run { events.onTimeFormatChanged(is24HourFormat(userId)) } zenModeCallback.onNextAlarmChanged() } Loading packages/SystemUI/tests/src/com/android/keyguard/ClockEventControllerTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ 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.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.statusbar.policy.ZenModeController Loading Loading @@ -128,6 +129,7 @@ class ClockEventControllerTest : SysuiTestCase() { @Mock private lateinit var largeClockEvents: ClockFaceEvents @Mock private lateinit var parentView: View @Mock private lateinit var keyguardTransitionInteractor: KeyguardTransitionInteractor @Mock private lateinit var userTracker: UserTracker @Mock private lateinit var zenModeController: ZenModeController private var zenModeControllerCallback: ZenModeController.Callback? = null Loading @@ -153,6 +155,7 @@ class ClockEventControllerTest : SysuiTestCase() { .thenReturn(ClockFaceConfig(tickRate = ClockTickRate.PER_MINUTE)) whenever(smallClockController.theme).thenReturn(ThemeConfig(true, null)) whenever(largeClockController.theme).thenReturn(ThemeConfig(true, null)) whenever(userTracker.userId).thenReturn(1) zenModeRepository.addMode(MANUAL_DND_INACTIVE) Loading @@ -177,6 +180,7 @@ class ClockEventControllerTest : SysuiTestCase() { withDeps.featureFlags, zenModeController, kosmos.zenModeInteractor, userTracker, ) underTest.clock = clock Loading Loading
packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +11 −5 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.view.ViewTreeObserver.OnGlobalLayoutListener import androidx.annotation.VisibleForTesting import androidx.lifecycle.Lifecycle import androidx.lifecycle.repeatOnLifecycle import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.broadcast.BroadcastDispatcher import com.android.systemui.customization.R import com.android.systemui.dagger.qualifiers.Background Loading Loading @@ -62,6 +63,7 @@ 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.res.R as SysuiR import com.android.systemui.settings.UserTracker import com.android.systemui.shared.regionsampling.RegionSampler import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback Loading @@ -80,7 +82,6 @@ import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.merge import com.android.app.tracing.coroutines.launchTraced as launch /** * Controller for a Clock provided by the registry and used on the keyguard. Instantiated by Loading @@ -103,6 +104,7 @@ constructor( private val featureFlags: FeatureFlagsClassic, private val zenModeController: ZenModeController, private val zenModeInteractor: ZenModeInteractor, private val userTracker: UserTracker, ) { var loggers = listOf( Loading @@ -120,6 +122,10 @@ constructor( connectClock(value) } private fun is24HourFormat(userId: Int? = null): Boolean { return DateFormat.is24HourFormat(context, userId ?: userTracker.userId) } private fun disconnectClock(clock: ClockController?) { if (clock == null) { return Loading Loading @@ -186,7 +192,7 @@ constructor( var pastVisibility: Int? = null override fun onViewAttachedToWindow(view: View) { clock.events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) clock.events.onTimeFormatChanged(is24HourFormat()) // Match the asing for view.parent's layout classes. smallClockFrame = (view.parent as ViewGroup)?.also { frame -> Loading Loading @@ -218,7 +224,7 @@ constructor( largeClockOnAttachStateChangeListener = object : OnAttachStateChangeListener { override fun onViewAttachedToWindow(p0: View) { clock.events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) clock.events.onTimeFormatChanged(is24HourFormat()) } override fun onViewDetachedFromWindow(p0: View) {} Loading Loading @@ -358,7 +364,7 @@ constructor( } override fun onTimeFormatChanged(timeFormat: String?) { clock?.run { events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) } clock?.run { events.onTimeFormatChanged(is24HourFormat()) } } override fun onTimeZoneChanged(timeZone: TimeZone) { Loading @@ -366,7 +372,7 @@ constructor( } override fun onUserSwitchComplete(userId: Int) { clock?.run { events.onTimeFormatChanged(DateFormat.is24HourFormat(context)) } clock?.run { events.onTimeFormatChanged(is24HourFormat(userId)) } zenModeCallback.onNextAlarmChanged() } Loading
packages/SystemUI/tests/src/com/android/keyguard/ClockEventControllerTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ 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.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.statusbar.policy.ZenModeController Loading Loading @@ -128,6 +129,7 @@ class ClockEventControllerTest : SysuiTestCase() { @Mock private lateinit var largeClockEvents: ClockFaceEvents @Mock private lateinit var parentView: View @Mock private lateinit var keyguardTransitionInteractor: KeyguardTransitionInteractor @Mock private lateinit var userTracker: UserTracker @Mock private lateinit var zenModeController: ZenModeController private var zenModeControllerCallback: ZenModeController.Callback? = null Loading @@ -153,6 +155,7 @@ class ClockEventControllerTest : SysuiTestCase() { .thenReturn(ClockFaceConfig(tickRate = ClockTickRate.PER_MINUTE)) whenever(smallClockController.theme).thenReturn(ThemeConfig(true, null)) whenever(largeClockController.theme).thenReturn(ThemeConfig(true, null)) whenever(userTracker.userId).thenReturn(1) zenModeRepository.addMode(MANUAL_DND_INACTIVE) Loading @@ -177,6 +180,7 @@ class ClockEventControllerTest : SysuiTestCase() { withDeps.featureFlags, zenModeController, kosmos.zenModeInteractor, userTracker, ) underTest.clock = clock Loading