Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2a0714e authored by Hawkwood Glazier's avatar Hawkwood Glazier
Browse files

Query for 24Hour format using current user id

Bug: 373793480
Test: Manually checked interactions
Flag: EXEMPT Minor Bug fix
Change-Id: I52a8e62d0f0fda28e52986d1453e781bfc2849e3
parent 5d4b0eca
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -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
@@ -103,6 +104,7 @@ constructor(
    private val featureFlags: FeatureFlagsClassic,
    private val zenModeController: ZenModeController,
    private val zenModeInteractor: ZenModeInteractor,
    private val userTracker: UserTracker,
) {
    var loggers =
        listOf(
@@ -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
@@ -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 ->
@@ -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) {}
@@ -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) {
@@ -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()
            }

+4 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -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)

@@ -177,6 +180,7 @@ class ClockEventControllerTest : SysuiTestCase() {
                withDeps.featureFlags,
                zenModeController,
                kosmos.zenModeInteractor,
                userTracker,
            )
        underTest.clock = clock