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

Commit 6ab14394 authored by Hawkwood Glazier's avatar Hawkwood Glazier
Browse files

Update smartspace positions on doze amount change

Bug: 372246519
Test: Manually confirmed view moves correctly
Flag: com.android.systemui.shared.clock_reactive_smartspace_layout
Change-Id: I1eadd0eaea77c701cf300b6bef9091d7bfbd5533
parent fd356738
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ class ComposedDigitalLayerController(private val clockCtx: ClockContext) :
    val dozeState = DefaultClockController.AnimationState(1F)

    override val view = FlexClockView(clockCtx)
    override var onViewBoundsChanged by view::onViewBoundsChanged

    init {
        fun createController(cfg: LayerConfig) {
+7 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ import android.content.Context
import android.content.res.Resources
import android.graphics.Color
import android.graphics.Rect
import android.graphics.RectF
import android.icu.text.NumberFormat
import android.util.TypedValue
import android.view.LayoutInflater
@@ -97,7 +98,12 @@ class DefaultClockController(
        events.onLocaleChanged(Locale.getDefault())
    }

    override fun initialize(isDarkTheme: Boolean, dozeFraction: Float, foldFraction: Float) {
    override fun initialize(
        isDarkTheme: Boolean,
        dozeFraction: Float,
        foldFraction: Float,
        onBoundsChanged: (RectF) -> Unit,
    ) {
        largeClock.recomputePadding(null)

        largeClock.animations = LargeClockAnimations(largeClock.view, dozeFraction, foldFraction)
+9 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.shared.clocks

import android.graphics.RectF
import com.android.systemui.animation.GSFAxes
import com.android.systemui.customization.R
import com.android.systemui.plugins.clocks.AlarmData
@@ -102,9 +103,15 @@ class FlexClockController(private val clockCtx: ClockContext) : ClockController
            }
        }

    override fun initialize(isDarkTheme: Boolean, dozeFraction: Float, foldFraction: Float) {
    override fun initialize(
        isDarkTheme: Boolean,
        dozeFraction: Float,
        foldFraction: Float,
        onBoundsChanged: (RectF) -> Unit,
    ) {
        events.onFontAxesChanged(clockCtx.settings.axes)
        smallClock.run {
            layerController.onViewBoundsChanged = onBoundsChanged
            events.onThemeChanged(theme.copy(isDarkTheme = isDarkTheme))
            animations.doze(dozeFraction)
            animations.fold(foldFraction)
@@ -112,6 +119,7 @@ class FlexClockController(private val clockCtx: ClockContext) : ClockController
        }

        largeClock.run {
            layerController.onViewBoundsChanged = onBoundsChanged
            events.onThemeChanged(theme.copy(isDarkTheme = isDarkTheme))
            animations.doze(dozeFraction)
            animations.fold(foldFraction)
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.shared.clocks

import android.graphics.RectF
import android.view.View
import androidx.annotation.VisibleForTesting
import com.android.systemui.plugins.clocks.ClockAnimations
@@ -31,4 +32,5 @@ interface SimpleClockLayerController {
    val config: ClockFaceConfig

    @VisibleForTesting var fakeTimeMills: Long?
    var onViewBoundsChanged: ((RectF) -> Unit)?
}
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ open class SimpleDigitalHandLayerController(
    override val view = SimpleDigitalClockTextView(clockCtx, isLargeClock)
    private val logger = Logger(clockCtx.messageBuffer, TAG)
    val timespec = DigitalTimespecHandler(layerCfg.timespec, layerCfg.dateTimeFormat)
    override var onViewBoundsChanged by view::onViewBoundsChanged

    @VisibleForTesting
    override var fakeTimeMills: Long?
Loading