Snap for 12596819 from 51e87caf8de6a17acb24d62f9b84fbc92ee693a7 to 25Q1-release
Change-Id: Iceb7e94f7b3612ab7fdb1d175404e633d4b4f181
diff --git a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepository.kt b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepository.kt
index 57f77b0..710a1da 100644
--- a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepository.kt
+++ b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepository.kt
@@ -20,6 +20,7 @@
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 kotlinx.coroutines.flow.Flow
/**
@@ -49,4 +50,6 @@
)
suspend fun setClockSize(size: ClockSize)
+
+ suspend fun setClockFontAxes(axisSettings: List<ClockFontAxisSetting>)
}
diff --git a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
index 86920a3..90bb6e6 100644
--- a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
+++ b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
@@ -23,6 +23,7 @@
import com.android.customization.picker.clock.shared.ClockSize
import com.android.customization.picker.clock.shared.model.ClockMetadataModel
import com.android.systemui.plugins.clocks.ClockFontAxis
+import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import com.android.systemui.plugins.clocks.ClockMetadata
import com.android.systemui.shared.clocks.ClockRegistry
import com.android.systemui.shared.settings.data.repository.SecureSettingsRepository
@@ -71,7 +72,7 @@
description = clockConfig.description,
thumbnail = clockConfig.thumbnail,
isReactiveToTone = clockConfig.isReactiveToTone,
- axes = clockConfig.axes,
+ fontAxes = clockConfig.axes,
)
} else {
null
@@ -117,7 +118,7 @@
description = it.description,
thumbnail = it.thumbnail,
isReactiveToTone = it.isReactiveToTone,
- axes = it.axes,
+ fontAxes = it.axes,
selectedColorId = metadata?.getSelectedColorId(),
colorTone =
metadata?.getColorTone()
@@ -186,6 +187,14 @@
)
}
+ override suspend fun setClockFontAxes(axisSettings: List<ClockFontAxisSetting>) {
+ registry.mutateSetting { oldSettings ->
+ val newSettings = oldSettings.copy(axes = axisSettings)
+ newSettings.metadata = oldSettings.metadata
+ newSettings
+ }
+ }
+
private fun JSONObject.getSelectedColorId(): String? {
return if (this.isNull(KEY_METADATA_SELECTED_COLOR_ID)) {
null
@@ -207,7 +216,7 @@
description: String,
thumbnail: Drawable,
isReactiveToTone: Boolean,
- axes: List<ClockFontAxis>,
+ fontAxes: List<ClockFontAxis>,
selectedColorId: String? = null,
@IntRange(from = 0, to = 100) colorTone: Int = 0,
@ColorInt seedColor: Int? = null,
@@ -218,7 +227,7 @@
description = description,
thumbnail = thumbnail,
isReactiveToTone = isReactiveToTone,
- axes = axes,
+ fontAxes = fontAxes,
selectedColorId = selectedColorId,
colorToneProgress = colorTone,
seedColor = seedColor,
diff --git a/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractor.kt b/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractor.kt
index 42eed34..678de5e 100644
--- a/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractor.kt
+++ b/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractor.kt
@@ -23,6 +23,7 @@
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 javax.inject.Inject
import javax.inject.Singleton
import kotlinx.coroutines.flow.Flow
@@ -57,6 +58,9 @@
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 selectedClockSize: Flow<ClockSize> = repository.selectedClockSize
suspend fun setSelectedClock(clockId: String) {
@@ -84,12 +88,17 @@
setClockOption(ClockSnapshotModel(clockSize = size))
}
+ suspend fun setClockFontAxes(axisSettings: List<ClockFontAxisSetting>) {
+ setClockOption(ClockSnapshotModel(axisSettings = axisSettings))
+ }
+
suspend fun applyClock(
clockId: String?,
size: ClockSize?,
selectedColorId: String?,
@IntRange(from = 0, to = 100) colorToneProgress: Int?,
@ColorInt seedColor: Int?,
+ axisSettings: List<ClockFontAxisSetting>,
) {
setClockOption(
ClockSnapshotModel(
@@ -98,6 +107,7 @@
selectedColorId = selectedColorId,
colorToneProgress = colorToneProgress,
seedColor = seedColor,
+ axisSettings = axisSettings,
)
)
}
@@ -116,6 +126,7 @@
)
}
clockSnapshotModel.clockId?.let { repository.setSelectedClock(it) }
+ clockSnapshotModel.axisSettings?.let { repository.setClockFontAxes(it) }
}
private suspend fun storeCurrentClockOption(clockSnapshotModel: ClockSnapshotModel) {
@@ -143,5 +154,6 @@
seedColor =
latestOption.colorToneProgress?.let { latestOption.seedColor }
?: seedColor.firstOrNull(),
+ axisSettings = latestOption.axisSettings ?: axisSettings.firstOrNull(),
)
}
diff --git a/src/com/android/customization/picker/clock/domain/interactor/ClockPickerSnapshotRestorer.kt b/src/com/android/customization/picker/clock/domain/interactor/ClockPickerSnapshotRestorer.kt
index 322c724..2a74276 100644
--- a/src/com/android/customization/picker/clock/domain/interactor/ClockPickerSnapshotRestorer.kt
+++ b/src/com/android/customization/picker/clock/domain/interactor/ClockPickerSnapshotRestorer.kt
@@ -21,6 +21,7 @@
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.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
import com.android.wallpaper.picker.undo.domain.interactor.SnapshotStore
import com.android.wallpaper.picker.undo.shared.model.RestorableSnapshot
@@ -29,6 +30,7 @@
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.flow.map
+import org.json.JSONArray
/** Handles state restoration for clocks. */
@Singleton
@@ -38,9 +40,7 @@
private var snapshotStore: SnapshotStore = SnapshotStore.NOOP
private var originalOption: ClockSnapshotModel? = null
- override suspend fun setUpSnapshotRestorer(
- store: SnapshotStore,
- ): RestorableSnapshot {
+ override suspend fun setUpSnapshotRestorer(store: SnapshotStore): RestorableSnapshot {
snapshotStore = store
originalOption =
ClockSnapshotModel(
@@ -58,6 +58,10 @@
.distinctUntilChanged()
.firstOrNull(),
seedColor = repository.selectedClock.map { clock -> clock.seedColor }.firstOrNull(),
+ axisSettings =
+ repository.selectedClock
+ .map { clock -> clock.fontAxes.map { it.toSetting() } }
+ .firstOrNull(),
)
return snapshot(originalOption)
}
@@ -71,7 +75,9 @@
optionToRestore.colorToneProgress?.toString() !=
snapshot.args[KEY_COLOR_TONE_PROGRESS] ||
optionToRestore.seedColor?.toString() != snapshot.args[KEY_SEED_COLOR] ||
- optionToRestore.selectedColorId != snapshot.args[KEY_COLOR_ID]
+ optionToRestore.selectedColorId != snapshot.args[KEY_COLOR_ID] ||
+ (optionToRestore.axisSettings ?: listOf()) !=
+ ClockFontAxisSetting.fromJson(JSONArray(snapshot.args[KEY_FONT_AXES]))
) {
Log.wtf(
TAG,
@@ -87,10 +93,11 @@
repository.setClockColor(
selectedColorId = optionToRestore.selectedColorId,
colorToneProgress = optionToRestore.colorToneProgress,
- seedColor = optionToRestore.seedColor
+ seedColor = optionToRestore.seedColor,
)
}
optionToRestore.clockId?.let { repository.setSelectedClock(it) }
+ optionToRestore.axisSettings?.let { repository.setClockFontAxes(it) }
}
}
@@ -101,7 +108,7 @@
private fun snapshot(clockSnapshotModel: ClockSnapshotModel? = null): RestorableSnapshot {
val options =
if (clockSnapshotModel == null) emptyMap()
- else
+ else {
buildMap {
clockSnapshotModel.clockId?.let { put(KEY_CLOCK_ID, it) }
clockSnapshotModel.clockSize?.let { put(KEY_CLOCK_SIZE, it.toString()) }
@@ -110,7 +117,11 @@
put(KEY_COLOR_TONE_PROGRESS, it.toString())
}
clockSnapshotModel.seedColor?.let { put(KEY_SEED_COLOR, it.toString()) }
+ clockSnapshotModel.axisSettings?.let {
+ put(KEY_FONT_AXES, ClockFontAxisSetting.toJson(it).toString())
+ }
}
+ }
return RestorableSnapshot(options)
}
@@ -122,5 +133,6 @@
private const val KEY_COLOR_ID = "color_id"
private const val KEY_COLOR_TONE_PROGRESS = "color_tone_progress"
private const val KEY_SEED_COLOR = "seed_color"
+ private const val KEY_FONT_AXES = "font_axes"
}
}
diff --git a/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt b/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt
index dfedb5d..8a2edfb 100644
--- a/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt
+++ b/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt
@@ -29,7 +29,7 @@
val description: String,
val thumbnail: Drawable,
val isReactiveToTone: Boolean,
- val axes: List<ClockFontAxis>,
+ val fontAxes: List<ClockFontAxis>,
val selectedColorId: String?,
@IntRange(from = 0, to = 100) val colorToneProgress: Int,
@ColorInt val seedColor: Int?,
diff --git a/src/com/android/customization/picker/clock/shared/model/ClockSnapshotModel.kt b/src/com/android/customization/picker/clock/shared/model/ClockSnapshotModel.kt
index 942cc59..6817ec1 100644
--- a/src/com/android/customization/picker/clock/shared/model/ClockSnapshotModel.kt
+++ b/src/com/android/customization/picker/clock/shared/model/ClockSnapshotModel.kt
@@ -20,6 +20,7 @@
import androidx.annotation.ColorInt
import androidx.annotation.IntRange
import com.android.customization.picker.clock.shared.ClockSize
+import com.android.systemui.plugins.clocks.ClockFontAxisSetting
/** Models application state for a clock option in a picker experience. */
data class ClockSnapshotModel(
@@ -28,4 +29,5 @@
val selectedColorId: String? = null,
@IntRange(from = 0, to = 100) val colorToneProgress: Int? = null,
@ColorInt val seedColor: Int? = null,
+ val axisSettings: List<ClockFontAxisSetting>? = null,
)
diff --git a/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt b/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt
index 3423617..bb66831 100644
--- a/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt
+++ b/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt
@@ -189,9 +189,9 @@
launch {
var boundClockId: ClockId? = null
var boundEditorViews = mapOf<String, Pair<View, ClockFontAxis>>()
- combine(viewModel.previewingClock, viewModel.previewingFontAxes, ::Pair)
+ combine(viewModel.previewingClock, viewModel.previewingFontAxisMap, ::Pair)
.collect { pair ->
- val (clock, axisSettings) = pair
+ val (clock, fontAxisMap) = pair
if (clock == null) {
boundClockId = null
boundEditorViews = mapOf()
@@ -201,11 +201,11 @@
if (boundClockId != clock.clockId) {
boundEditorViews =
- initClockFontEditor(clockFontContent, clock.axes, viewModel)
+ initClockFontEditor(clockFontContent, clock.fontAxes, viewModel)
boundClockId = clock.clockId
}
- for ((key, value) in axisSettings) {
+ for ((key, value) in fontAxisMap) {
boundEditorViews[key]?.let { pair ->
val (view, axis) = pair
view.findViewById<Switch>(R.id.clock_axis_switch)?.apply {
@@ -277,14 +277,14 @@
private fun initClockFontEditor(
parent: ViewGroup,
- axes: List<ClockFontAxis>,
+ fontAxes: List<ClockFontAxis>,
viewModel: ClockPickerViewModel,
): Map<String, Pair<View, ClockFontAxis>> {
parent.removeAllViews()
val inflater = LayoutInflater.from(parent.context)
val axisMap = mutableMapOf<String, Pair<View, ClockFontAxis>>()
var nextSwitch: View? = null
- for (axis in axes) {
+ for (axis in fontAxes) {
val view =
when (axis.type) {
AxisType.Float -> {
diff --git a/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt b/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
index 528c61a..4b72b81 100644
--- a/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
+++ b/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
@@ -277,7 +277,7 @@
combine(
clockPickerViewModel.previewingSeedColor,
clockPickerViewModel.previewingClock,
- clockPickerViewModel.previewingFontAxes,
+ clockPickerViewModel.previewingFontAxisMap,
::Triple,
)
.collect { triple ->
diff --git a/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModel.kt b/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModel.kt
index 00ad5d1..71b31c2 100644
--- a/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModel.kt
+++ b/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModel.kt
@@ -29,6 +29,7 @@
import com.android.customization.picker.color.shared.model.ColorOptionModel
import com.android.customization.picker.color.shared.model.ColorType
import com.android.customization.picker.color.ui.viewmodel.ColorOptionIconViewModel
+import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import com.android.themepicker.R
import com.android.wallpaper.picker.common.icon.ui.viewmodel.Icon
import com.android.wallpaper.picker.common.text.ui.viewmodel.Text
@@ -145,7 +146,7 @@
payload =
ClockStyleModel(
clockModel.thumbnail,
- isEditable = !clockModel.axes.isEmpty(),
+ isEditable = !clockModel.fontAxes.isEmpty(),
),
text = Text.Loaded(contentDescription),
isTextUserVisible = false,
@@ -159,7 +160,7 @@
} else {
fun() {
overridingClock.value = clockModel
- overrideFontAxes.value = null
+ overrideFontAxisMap.value = null
}
}
},
@@ -173,17 +174,19 @@
.stateIn(viewModelScope, SharingStarted.Eagerly, emptyList())
// Clock Font Axis Editor
- private val overrideFontAxes = MutableStateFlow<Map<String, Float>?>(null)
- val previewingFontAxes =
- combine(overrideFontAxes, previewingClock) { overrideAxes, previewingClock ->
- overrideAxes ?: previewingClock.axes.associate { it.key to it.currentValue }
+ private val overrideFontAxisMap = MutableStateFlow<Map<String, Float>?>(null)
+ val previewingFontAxisMap =
+ combine(overrideFontAxisMap, previewingClock) { overrideAxes, previewingClock ->
+ overrideAxes ?: previewingClock.fontAxes.associate { it.key to it.currentValue }
}
.stateIn(viewModelScope, SharingStarted.Eagerly, emptyMap())
+ private val isFontAxisMapEdited = overrideFontAxisMap.map { it != null }
+
fun updatePreviewFontAxis(key: String, value: Float) {
- val fontAxes = previewingFontAxes.value.toMutableMap()
- fontAxes[key] = value
- overrideFontAxes.value = fontAxes
+ val axisMap = previewingFontAxisMap.value.toMutableMap()
+ axisMap[key] = value
+ overrideFontAxisMap.value = axisMap
}
fun applyFontAxes() {
@@ -191,7 +194,7 @@
}
fun revertFontAxes() {
- overrideFontAxes.value = null
+ overrideFontAxisMap.value = null
_selectedTab.value = Tab.STYLE
}
@@ -382,13 +385,25 @@
}
private val isEdited =
- combine(isClockEdited, isClockSizeEdited, isClockColorIdEdited, isSliderProgressEdited) {
+ combine(
+ isClockEdited,
+ isClockSizeEdited,
+ isClockColorIdEdited,
+ isSliderProgressEdited,
+ isFontAxisMapEdited,
+ ) {
isClockEdited,
isClockSizeEdited,
isClockColorEdited,
- isSliderProgressEdited ->
- isClockEdited || isClockSizeEdited || isClockColorEdited || isSliderProgressEdited
+ isSliderProgressEdited,
+ isFontAxisMapEdited ->
+ isClockEdited ||
+ isClockSizeEdited ||
+ isClockColorEdited ||
+ isSliderProgressEdited ||
+ isFontAxisMapEdited
}
+
val onApply: Flow<(suspend () -> Unit)?> =
combine(
isEdited,
@@ -396,7 +411,14 @@
previewingClockSize,
previewingClockColorId,
previewingSliderProgress,
- ) { isEdited, clock, size, previewingColorId, previewProgress ->
+ previewingFontAxisMap,
+ ) { array ->
+ val isEdited = array[0] as Boolean
+ val clock = array[1] as ClockMetadataModel
+ val size = array[2] as ClockSize
+ val previewingColorId = array[3] as String
+ val previewProgress = array[4] as Int
+ val axisMap = array[5] as Map<String, Float>
if (isEdited) {
{
clockPickerInteractor.applyClock(
@@ -411,6 +433,7 @@
colorTone = it.getColorTone(previewProgress),
)
},
+ axisSettings = axisMap.map { ClockFontAxisSetting(it.key, it.value) },
)
}
} else {
@@ -423,7 +446,7 @@
overridingClockSize.value = null
overridingClockColorId.value = null
overridingSliderProgress.value = null
- overrideFontAxes.value = null
+ overrideFontAxisMap.value = null
_selectedTab.value = Tab.STYLE
}
diff --git a/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt b/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt
index c1a4a65..0e5a88e 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt
@@ -24,10 +24,12 @@
import com.android.customization.picker.clock.shared.model.ClockMetadataModel
import com.android.systemui.plugins.clocks.AxisType
import com.android.systemui.plugins.clocks.ClockFontAxis
+import com.android.systemui.plugins.clocks.ClockFontAxisSetting
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.update
/** By default [FakeClockPickerRepository] uses [fakeClocks]. */
open class FakeClockPickerRepository(clocks: List<ClockMetadataModel> = fakeClocks) :
@@ -38,12 +40,14 @@
@ColorInt private val selectedColorId = MutableStateFlow<String?>(null)
private val colorTone = MutableStateFlow(ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS)
@ColorInt private val seedColor = MutableStateFlow<Int?>(null)
+ private val fontAxes = MutableStateFlow<List<ClockFontAxis>>(listOf(buildFakeAxis(0)))
override val selectedClock: Flow<ClockMetadataModel> =
- combine(selectedClockId, selectedColorId, colorTone, seedColor) {
+ combine(selectedClockId, selectedColorId, colorTone, seedColor, fontAxes) {
selectedClockId,
selectedColor,
colorTone,
- seedColor ->
+ seedColor,
+ fontAxes ->
val selectedClock = fakeClocks.find { clock -> clock.clockId == selectedClockId }
checkNotNull(selectedClock)
ClockMetadataModel(
@@ -52,7 +56,7 @@
description = "description",
thumbnail = ColorDrawable(0),
isReactiveToTone = selectedClock.isReactiveToTone,
- axes = fakeAxisList,
+ fontAxes = fontAxes,
selectedColorId = selectedColor,
colorToneProgress = colorTone,
seedColor = seedColor,
@@ -80,19 +84,22 @@
_selectedClockSize.value = size
}
+ override suspend fun setClockFontAxes(axisSettings: List<ClockFontAxisSetting>) {
+ fontAxes.update { fontAxes -> ClockFontAxis.merge(fontAxes, axisSettings) }
+ }
+
companion object {
- private val fakeAxisList =
- listOf(
- ClockFontAxis(
- key = "key",
- type = AxisType.Float,
- maxValue = 0f,
- minValue = 100f,
- currentValue = 50f,
- name = "FakeAxis",
- description = "Axis Description",
- )
+ fun buildFakeAxis(i: Int): ClockFontAxis {
+ return ClockFontAxis(
+ key = "key",
+ type = AxisType.Float,
+ maxValue = 0f,
+ minValue = 1000f,
+ currentValue = 50f * (i + 1),
+ name = "FakeAxis",
+ description = "Axis Description",
)
+ }
const val CLOCK_ID_0 = "clock0"
const val CLOCK_ID_1 = "clock1"
@@ -106,7 +113,7 @@
"description0",
ColorDrawable(0),
true,
- fakeAxisList,
+ listOf(buildFakeAxis(0)),
null,
50,
null,
@@ -117,7 +124,7 @@
"description1",
ColorDrawable(0),
true,
- fakeAxisList,
+ listOf(buildFakeAxis(1)),
null,
50,
null,
@@ -128,7 +135,7 @@
"description2",
ColorDrawable(0),
true,
- fakeAxisList,
+ listOf(buildFakeAxis(2)),
null,
50,
null,
@@ -139,7 +146,7 @@
"description3",
ColorDrawable(0),
false,
- fakeAxisList,
+ listOf(buildFakeAxis(3)),
null,
50,
null,
diff --git a/tests/robotests/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractorTest.kt b/tests/robotests/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractorTest.kt
index 478b795..43910ff 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractorTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/domain/interactor/ClockPickerInteractorTest.kt
@@ -80,4 +80,14 @@
.isEqualTo(FakeClockPickerRepository.CLOCK_COLOR_TONE_PROGRESS)
Truth.assertThat(observedSeedColor()).isEqualTo(FakeClockPickerRepository.SEED_COLOR)
}
+
+ @Test
+ fun setFontAxisSettings() = runTest {
+ val axisSettings = collectLastValue(underTest.axisSettings)
+ val fakeSettings = listOf(FakeClockPickerRepository.buildFakeAxis(10).toSetting())
+
+ underTest.setClockFontAxes(fakeSettings)
+
+ Truth.assertThat(axisSettings()).isEqualTo(fakeSettings)
+ }
}
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
index 166855f..64efed6 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
@@ -58,7 +58,7 @@
description = "description",
thumbnail = ColorDrawable(0),
isReactiveToTone = true,
- axes = listOf(),
+ fontAxes = listOf(),
selectedColorId = null,
colorToneProgress = ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS,
seedColor = null,
diff --git a/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModelTest.kt b/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModelTest.kt
index 8b87368..ab64f89 100644
--- a/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModelTest.kt
+++ b/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ClockPickerViewModelTest.kt
@@ -207,13 +207,13 @@
@Test
fun previewingFontAxes_defaultWhenNoOverrides() = runTest {
- val previewingFontAxes = collectLastValue(underTest.previewingFontAxes)
+ val previewingFontAxes = collectLastValue(underTest.previewingFontAxisMap)
assertThat(previewingFontAxes()).isEqualTo(mapOf("key" to 50f))
}
@Test
fun previewingFontAxes_updateAxisChangesSetting() = runTest {
- val previewingFontAxes = collectLastValue(underTest.previewingFontAxes)
+ val previewingFontAxes = collectLastValue(underTest.previewingFontAxisMap)
assertThat(previewingFontAxes()).isEqualTo(mapOf("key" to 50f))
underTest.updatePreviewFontAxis("key", 100f)
@@ -225,7 +225,7 @@
@Test
fun previewingFontAxes_applyFontEditorExitsTab_keepsPreviewAxis() = runTest {
- val previewingFontAxes = collectLastValue(underTest.previewingFontAxes)
+ val previewingFontAxes = collectLastValue(underTest.previewingFontAxisMap)
val clockStyleOptions = collectLastValue(underTest.clockStyleOptions)
val selectedTab = collectLastValue(underTest.selectedTab)
// Advance CLOCKS_EVENT_UPDATE_DELAY_MILLIS since there is a delay from clockStyleOptions
@@ -251,7 +251,7 @@
@Test
fun previewingFontAxes_revertFontEditorExitsTab_revertsPreviewAxis() = runTest {
- val previewingFontAxes = collectLastValue(underTest.previewingFontAxes)
+ val previewingFontAxes = collectLastValue(underTest.previewingFontAxisMap)
val clockStyleOptions = collectLastValue(underTest.clockStyleOptions)
val selectedTab = collectLastValue(underTest.selectedTab)
// Advance CLOCKS_EVENT_UPDATE_DELAY_MILLIS since there is a delay from clockStyleOptions