AnalogClock: add option to show tick marks (#1334)
* AnalogClock: add option to show tick marks * Refactor as data class with settings in WatchFaceSelector.kt
This commit is contained in:
+4
-1
@@ -41,6 +41,7 @@ data class LauncherSettingsData internal constructor(
|
||||
@SerialName("clockWidgetStyle2")
|
||||
internal val clockWidgetStyle: ClockWidgetStyleEnum = ClockWidgetStyleEnum.Digital1,
|
||||
val clockWidgetDigital1: ClockWidgetStyle.Digital1 = ClockWidgetStyle.Digital1(),
|
||||
val clockWidgetAnalog: ClockWidgetStyle.Analog = ClockWidgetStyle.Analog(),
|
||||
val clockWidgetCustom: ClockWidgetStyle.Custom = ClockWidgetStyle.Custom(),
|
||||
val clockWidgetColors: ClockWidgetColors = ClockWidgetColors.Auto,
|
||||
val clockWidgetShowSeconds: Boolean = false,
|
||||
@@ -249,7 +250,9 @@ sealed interface ClockWidgetStyle {
|
||||
|
||||
@Serializable
|
||||
@SerialName("analog")
|
||||
data object Analog : ClockWidgetStyle
|
||||
data class Analog(
|
||||
val showTicks: Boolean = false
|
||||
) : ClockWidgetStyle
|
||||
|
||||
@Serializable
|
||||
@SerialName("binary")
|
||||
|
||||
+7
-3
@@ -84,7 +84,7 @@ class ClockWidgetSettings internal constructor(
|
||||
ClockWidgetStyleEnum.Digital1 -> it.clockWidgetDigital1
|
||||
ClockWidgetStyleEnum.Digital2 -> ClockWidgetStyle.Digital2
|
||||
ClockWidgetStyleEnum.Orbit -> ClockWidgetStyle.Orbit
|
||||
ClockWidgetStyleEnum.Analog -> ClockWidgetStyle.Analog
|
||||
ClockWidgetStyleEnum.Analog -> it.clockWidgetAnalog
|
||||
ClockWidgetStyleEnum.Binary -> ClockWidgetStyle.Binary
|
||||
ClockWidgetStyleEnum.Segment -> ClockWidgetStyle.Segment
|
||||
ClockWidgetStyleEnum.Empty -> ClockWidgetStyle.Empty
|
||||
@@ -95,6 +95,9 @@ class ClockWidgetSettings internal constructor(
|
||||
val digital1: Flow<ClockWidgetStyle.Digital1>
|
||||
get() = launcherDataStore.data.map { it.clockWidgetDigital1 }
|
||||
|
||||
val analog: Flow<ClockWidgetStyle.Analog>
|
||||
get() = launcherDataStore.data.map { it.clockWidgetAnalog }
|
||||
|
||||
val custom: Flow<ClockWidgetStyle.Custom>
|
||||
get() = launcherDataStore.data.map { it.clockWidgetCustom }
|
||||
|
||||
@@ -102,8 +105,9 @@ class ClockWidgetSettings internal constructor(
|
||||
launcherDataStore.update {
|
||||
it.copy(
|
||||
clockWidgetStyle = clockStyle.enumValue,
|
||||
clockWidgetDigital1 = if (clockStyle is ClockWidgetStyle.Digital1) clockStyle else it.clockWidgetDigital1,
|
||||
clockWidgetCustom = if (clockStyle is ClockWidgetStyle.Custom) clockStyle else it.clockWidgetCustom,
|
||||
clockWidgetDigital1 = clockStyle as? ClockWidgetStyle.Digital1 ?: it.clockWidgetDigital1,
|
||||
clockWidgetAnalog = clockStyle as? ClockWidgetStyle.Analog ?: it.clockWidgetAnalog,
|
||||
clockWidgetCustom = clockStyle as? ClockWidgetStyle.Custom ?: it.clockWidgetCustom,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user