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

Commit 7ffa1116 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Regsister ClockEventController listeners in preview" into main

parents 20f3c697 3ee1079a
Loading
Loading
Loading
Loading
+22 −16
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.icu.util.TimeZone as IcuTimeZone
import android.os.Trace
import android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS
import android.provider.Settings.Global.ZEN_MODE_OFF
import android.util.Log
import android.util.TypedValue
import android.view.View
import android.view.View.OnAttachStateChangeListener
@@ -114,13 +113,8 @@ constructor(
    private val userTracker: UserTracker,
    private val dozingToLockscreenViewModel: Lazy<DozingToLockscreenTransitionViewModel>,
) {
    var loggers =
        listOf(
                clockBuffers.infraMessageBuffer,
                clockBuffers.smallClockMessageBuffer,
                clockBuffers.largeClockMessageBuffer,
            )
            .map { Logger(it, TAG) }
    val logger = Logger(clockBuffers.infraMessageBuffer, TAG)
    var isPreview: Boolean = false

    var clock: ClockController? = null
        get() = field
@@ -152,7 +146,7 @@ constructor(
            return
        }
        val clockStr = clock.toString()
        loggers.forEach { it.d({ "New Clock: $str1" }) { str1 = clockStr } }
        logger.i({ "New Clock: $str1" }) { str1 = clockStr }

        clock.eventListeners.attach(clockListener)
        clock.initialize(isDarkTheme(), dozeAmount.value, 0f)
@@ -188,9 +182,7 @@ constructor(
        updateTimeListeners()

        weatherData?.let {
            if (WeatherData.DEBUG) {
                Log.i(TAG, "Pushing cached weather data to new clock: $it")
            }
            logger.i({ "Pushing cached weather data to new clock: $str1" }) { str1 = "$it" }
            clock.events.onWeatherDataChanged(it)
        }
        zenData?.let { clock.events.onZenDataChanged(it) }
@@ -280,7 +272,7 @@ constructor(
        }

        clock?.run {
            Log.i(TAG, "isThemeDark: $isDarkTheme")
            logger.i({ "updateColors(isThemeDark = $bool1)" }) { bool1 = isDarkTheme }
            smallClock.updateTheme { it.copy(isDarkTheme = isDarkTheme) }
            largeClock.updateTheme { it.copy(isDarkTheme = isDarkTheme) }
        }
@@ -314,7 +306,7 @@ constructor(
    var smallTimeListener: TimeListener? = null
    var largeTimeListener: TimeListener? = null
    val shouldTimeListenerRun: Boolean
        get() = isKeyguardVisible && dozeAmount.value < DOZE_TICKRATE_THRESHOLD
        get() = !isPreview && isKeyguardVisible && dozeAmount.value < DOZE_TICKRATE_THRESHOLD

    private var weatherData: WeatherData? = null
    private var zenData: ZenData? = null
@@ -336,10 +328,12 @@ constructor(
    private val configListener =
        object : ConfigurationController.ConfigurationListener {
            override fun onThemeChanged() {
                logger.i("onThemeChanged")
                updateColors()
            }

            override fun onDensityOrFontScaleChanged() {
                logger.i("onDensityOrFontScaleChanged")
                updateFontSizes()
            }
        }
@@ -347,7 +341,7 @@ constructor(
    private val batteryCallback =
        object : BatteryStateChangeCallback {
            override fun onBatteryLevelChanged(level: Int, pluggedIn: Boolean, charging: Boolean) {
                if (isKeyguardVisible && !isCharging && charging) {
                if (!isPreview && isKeyguardVisible && !isCharging && charging) {
                    clock?.run {
                        smallClock.animations.charge()
                        largeClock.animations.charge()
@@ -444,7 +438,10 @@ constructor(
    private fun handleZenMode(zen: Int) {
        val mode = ZenMode.fromInt(zen)
        if (mode == null) {
            Log.e(TAG, "Failed to get zen mode from int: $zen")
            logger.e({ "Failed to get zen mode from int: $str1 ($int1)" }) {
                str1 = "$mode"
                int1 = zen
            }
            return
        }

@@ -460,6 +457,7 @@ constructor(
    }

    fun bind(parent: View): DisposableHandle {
        logger.i({ "bind($str1)" }) { str1 = "$parent" }
        return parent.repeatWhenAttached {
            repeatOnLifecycle(Lifecycle.State.CREATED) {
                listenForDnd(this)
@@ -477,6 +475,7 @@ constructor(
    fun registerListeners() {
        if (isRegistered) return
        isRegistered = true
        logger.i("registerListeners(isPreview = $isPreview)")

        broadcastDispatcher.registerReceiver(
            localeBroadcastReceiver,
@@ -507,6 +506,7 @@ constructor(
    fun unregisterListeners() {
        if (!isRegistered) return
        isRegistered = false
        logger.i("unregisterListeners(isPreview = $isPreview)")

        broadcastDispatcher.unregisterReceiver(localeBroadcastReceiver)
        configurationController.removeCallback(configListener)
@@ -578,6 +578,7 @@ constructor(
    }

    fun handleFidgetTap(x: Float, y: Float) {
        if (isPreview) return
        clock?.run {
            smallClock.animations.onFidgetTap(x, y)
            largeClock.animations.onFidgetTap(x, y)
@@ -585,6 +586,11 @@ constructor(
    }

    private fun handleDoze(doze: Float) {
        if (isPreview) {
            dozeAmount.value = doze
            return
        }

        clock?.run {
            Trace.beginSection("$TAG#smallClock.animations.doze")
            smallClock.animations.doze(doze)
+4 −0
Original line number Diff line number Diff line
@@ -139,7 +139,11 @@ constructor(
    @Style.Type private var themeStyle: Int? = null

    init {
        clockController.isPreview = true
        clockController.registerListeners()
        disposables += DisposableHandle { clockController.unregisterListeners() }
        clockController.setFallbackWeatherData(WeatherData.getPlaceholderWeatherData())

        quickAffordancesCombinedViewModel.enablePreviewMode(
            initiallySelectedSlotId =
                previewViewModel.request.getString(KEY_INITIALLY_SELECTED_SLOT_ID)