diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt index 150a8171f5095..3d72f15492c5c 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt @@ -84,6 +84,9 @@ class DefaultClock( resources.getFloat(R.dimen.keyguard_clock_line_spacing_scale_burmese) private val defaultLineSpacing = resources.getFloat(R.dimen.keyguard_clock_line_spacing_scale) + private var smallRegionDarkness = RegionDarkness.DEFAULT + private var largeRegionDarkness = RegionDarkness.DEFAULT + private fun updateClockColor(clock: AnimatableClockView, isRegionDark: RegionDarkness) { val color = if (isRegionDark.isDark) { resources.getColor(android.R.color.system_accent2_100) @@ -91,6 +94,7 @@ class DefaultClock( resources.getColor(android.R.color.system_accent1_600) } clock.setColors(DOZE_COLOR, color) + clock.animateAppearOnLockscreen() } override val events = object : ClockEvents { @@ -119,8 +123,14 @@ class DefaultClock( smallClockIsDark: RegionDarkness, largeClockIsDark: RegionDarkness ) { - updateClockColor(smallClock, smallClockIsDark) - updateClockColor(largeClock, largeClockIsDark) + if (smallRegionDarkness != smallClockIsDark) { + smallRegionDarkness = smallClockIsDark + updateClockColor(smallClock, smallClockIsDark) + } + if (largeRegionDarkness != largeClockIsDark) { + largeRegionDarkness = largeClockIsDark + updateClockColor(largeClock, largeClockIsDark) + } } override fun onLocaleChanged(locale: Locale) { diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/regionsampling/RegionSamplingInstance.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/regionsampling/RegionSamplingInstance.kt index 459e5e5332859..f8f7c24c7c149 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/regionsampling/RegionSamplingInstance.kt +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/regionsampling/RegionSamplingInstance.kt @@ -48,10 +48,6 @@ class RegionSamplingInstance( } } - fun createRegionSamplingInstance(): Pair { - return Pair(isDark, samplingBounds) - } - fun currentClockDarkness(): RegionDarkness { return isDark } diff --git a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt index 9f164d97e135f..bc1c10af5065b 100644 --- a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +++ b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt @@ -80,6 +80,9 @@ class ClockEventController @Inject constructor( } fun updateRegionSamplers(currentClock: Clock?) { + smallRegionSamplingInstance.stopRegionSampler() + largeRegionSamplingInstance.stopRegionSampler() + smallRegionSamplingInstance = RegionSamplingInstance( currentClock?.smallClock, mainExecutor,