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

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

Replace ClockFontAxisSetting

Bug: 395647577
Test: Manually checked existing clocks
Flag: com.android.systemui.shared.clock_reactive_variants
Change-Id: I24f1b7edeba14bc4f10c2a26af7f90c367ba70f9
parent 7d535eff
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import androidx.annotation.ColorInt
import androidx.annotation.IntRange
import com.android.customization.picker.clock.shared.ClockSize
import com.android.customization.picker.clock.shared.model.ClockMetadataModel
import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import com.android.systemui.plugins.clocks.ClockAxisStyle
import com.android.systemui.plugins.clocks.ClockId
import kotlinx.coroutines.flow.Flow

@@ -52,7 +52,7 @@ interface ClockPickerRepository {

    suspend fun setClockSize(size: ClockSize)

    suspend fun setClockFontAxes(axisSettings: List<ClockFontAxisSetting>)
    suspend fun setClockFontAxes(axisSettings: ClockAxisStyle)

    fun isReactiveToTone(clockId: ClockId): Boolean?
}
+2 −2
Original line number Diff line number Diff line
@@ -22,8 +22,8 @@ import androidx.annotation.ColorInt
import androidx.annotation.IntRange
import com.android.customization.picker.clock.shared.ClockSize
import com.android.customization.picker.clock.shared.model.ClockMetadataModel
import com.android.systemui.plugins.clocks.ClockAxisStyle
import com.android.systemui.plugins.clocks.ClockFontAxis
import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import com.android.systemui.plugins.clocks.ClockId
import com.android.systemui.plugins.clocks.ClockMetadata
import com.android.systemui.shared.clocks.ClockRegistry
@@ -191,7 +191,7 @@ constructor(
        )
    }

    override suspend fun setClockFontAxes(axisSettings: List<ClockFontAxisSetting>) {
    override suspend fun setClockFontAxes(axisSettings: ClockAxisStyle) {
        registry.mutateSetting { oldSettings ->
            val newSettings = oldSettings.copy(axes = axisSettings)
            newSettings.metadata = oldSettings.metadata
+7 −5
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import com.android.customization.picker.clock.data.repository.ClockPickerReposit
import com.android.customization.picker.clock.shared.ClockSize
import com.android.customization.picker.clock.shared.model.ClockMetadataModel
import com.android.customization.picker.clock.shared.model.ClockSnapshotModel
import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import com.android.systemui.plugins.clocks.ClockAxisStyle
import com.android.wallpaper.picker.customization.data.repository.CustomizationRuntimeValuesRepository
import javax.inject.Inject
import javax.inject.Singleton
@@ -60,8 +60,10 @@ constructor(

    val seedColor: Flow<Int?> = repository.selectedClock.map { clock -> clock.seedColor }

    val axisSettings: Flow<List<ClockFontAxisSetting>?> =
        repository.selectedClock.map { clock -> clock.fontAxes.map { it.toSetting() } }
    val axisSettings: Flow<ClockAxisStyle?> =
        repository.selectedClock.map { clock ->
            if (clock.fontAxes.isEmpty()) null else ClockAxisStyle(clock.fontAxes)
        }

    val selectedClockSize: Flow<ClockSize> = repository.selectedClockSize

@@ -92,7 +94,7 @@ constructor(
        setClockOption(ClockSnapshotModel(clockSize = size))
    }

    suspend fun setClockFontAxes(axisSettings: List<ClockFontAxisSetting>) {
    suspend fun setClockFontAxes(axisSettings: ClockAxisStyle) {
        setClockOption(ClockSnapshotModel(axisSettings = axisSettings))
    }

@@ -102,7 +104,7 @@ constructor(
        selectedColorId: String?,
        @IntRange(from = 0, to = 100) colorToneProgress: Int?,
        @ColorInt seedColor: Int?,
        axisSettings: List<ClockFontAxisSetting>,
        axisSettings: ClockAxisStyle,
    ) {
        setClockOption(
            ClockSnapshotModel(
+5 −5
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ import android.text.TextUtils
import android.util.Log
import com.android.customization.picker.clock.data.repository.ClockPickerRepository
import com.android.customization.picker.clock.shared.model.ClockSnapshotModel
import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import com.android.systemui.plugins.clocks.ClockAxisStyle
import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
import com.android.wallpaper.picker.undo.domain.interactor.SnapshotStore
import com.android.wallpaper.picker.undo.shared.model.RestorableSnapshot
@@ -60,7 +60,7 @@ constructor(private val repository: ClockPickerRepository) : SnapshotRestorer {
                seedColor = repository.selectedClock.map { clock -> clock.seedColor }.firstOrNull(),
                axisSettings =
                    repository.selectedClock
                        .map { clock -> clock.fontAxes.map { it.toSetting() } }
                        .map { clock -> ClockAxisStyle(clock.fontAxes) }
                        .firstOrNull(),
            )
        return snapshot(originalOption)
@@ -76,8 +76,8 @@ constructor(private val repository: ClockPickerRepository) : SnapshotRestorer {
                        snapshot.args[KEY_COLOR_TONE_PROGRESS] ||
                    optionToRestore.seedColor?.toString() != snapshot.args[KEY_SEED_COLOR] ||
                    optionToRestore.selectedColorId != snapshot.args[KEY_COLOR_ID] ||
                    (optionToRestore.axisSettings ?: listOf()) !=
                        ClockFontAxisSetting.fromJson(JSONArray(snapshot.args[KEY_FONT_AXES]))
                    (optionToRestore.axisSettings ?: ClockAxisStyle()) !=
                        ClockAxisStyle.fromJson(JSONArray(snapshot.args[KEY_FONT_AXES]))
            ) {
                Log.wtf(
                    TAG,
@@ -118,7 +118,7 @@ constructor(private val repository: ClockPickerRepository) : SnapshotRestorer {
                    }
                    clockSnapshotModel.seedColor?.let { put(KEY_SEED_COLOR, it.toString()) }
                    clockSnapshotModel.axisSettings?.let {
                        put(KEY_FONT_AXES, ClockFontAxisSetting.toJson(it).toString())
                        put(KEY_FONT_AXES, ClockAxisStyle.toJson(it).toString())
                    }
                }
            }
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ package com.android.customization.picker.clock.shared.model
import androidx.annotation.ColorInt
import androidx.annotation.IntRange
import com.android.customization.picker.clock.shared.ClockSize
import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import com.android.systemui.plugins.clocks.ClockAxisStyle

/** Models application state for a clock option in a picker experience. */
data class ClockSnapshotModel(
@@ -29,5 +29,5 @@ data class ClockSnapshotModel(
    val selectedColorId: String? = null,
    @IntRange(from = 0, to = 100) val colorToneProgress: Int? = null,
    @ColorInt val seedColor: Int? = null,
    val axisSettings: List<ClockFontAxisSetting>? = null,
    val axisSettings: ClockAxisStyle? = null,
)
Loading