summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
authorGeorge Lin <giolin@google.com>2023-10-17 16:18:32 +0000
committerGeorge Lin <giolin@google.com>2023-10-24 21:42:28 +0000
commite0c5f7105186273bb3fe270caf9b6dfb494ecba9 (patch)
treef4998097c397025926375bb4281d7c570f3f4575 /src/com
parente209f49a887092a5dff2c7b6baad925b99160dbb (diff)
downloadThemePicker-e0c5f7105186273bb3fe270caf9b6dfb494ecba9.tar.gz
[WPP logging] Wire logClockColorApplied and logClockSizeApplied
Test: Manually tested. See bug. Bug: 305753671 Flag: NONE Change-Id: Ied843e1b57e8c180e83883fd60377753eae5fc2c
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/customization/module/ThemePickerInjector.kt1
-rw-r--r--src/com/android/customization/module/logging/ThemesUserEventLogger.kt4
-rw-r--r--src/com/android/customization/picker/clock/shared/ClockSize.kt11
-rw-r--r--src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt42
4 files changed, 44 insertions, 14 deletions
diff --git a/src/com/android/customization/module/ThemePickerInjector.kt b/src/com/android/customization/module/ThemePickerInjector.kt
index f1585f20..b7615e2f 100644
--- a/src/com/android/customization/module/ThemePickerInjector.kt
+++ b/src/com/android/customization/module/ThemePickerInjector.kt
@@ -494,6 +494,7 @@ internal constructor(
context,
wallpaperColorsRepository,
),
+ userEventLogger,
) { clockId ->
clockId?.let { clockViewFactory.getController(clockId).config.isReactiveToTone }
?: false
diff --git a/src/com/android/customization/module/logging/ThemesUserEventLogger.kt b/src/com/android/customization/module/logging/ThemesUserEventLogger.kt
index 087bef4b..66dea5a5 100644
--- a/src/com/android/customization/module/logging/ThemesUserEventLogger.kt
+++ b/src/com/android/customization/module/logging/ThemesUserEventLogger.kt
@@ -57,4 +57,8 @@ interface ThemesUserEventLogger : UserEventLogger {
)
@Retention(AnnotationRetention.SOURCE)
annotation class ClockSize
+
+ companion object {
+ const val NULL_SEED_COLOR = 0
+ }
}
diff --git a/src/com/android/customization/picker/clock/shared/ClockSize.kt b/src/com/android/customization/picker/clock/shared/ClockSize.kt
index 279ee54b..9b35f73f 100644
--- a/src/com/android/customization/picker/clock/shared/ClockSize.kt
+++ b/src/com/android/customization/picker/clock/shared/ClockSize.kt
@@ -16,7 +16,18 @@
*/
package com.android.customization.picker.clock.shared
+import android.stats.style.StyleEnums
+import com.android.customization.module.logging.ThemesUserEventLogger
+
enum class ClockSize {
DYNAMIC,
SMALL,
}
+
+@ThemesUserEventLogger.ClockSize
+fun ClockSize.toClockSizeForLogging(): Int {
+ return when (this) {
+ ClockSize.DYNAMIC -> StyleEnums.CLOCK_SIZE_DYNAMIC
+ ClockSize.SMALL -> StyleEnums.CLOCK_SIZE_SMALL
+ }
+}
diff --git a/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt b/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
index a498c716..d0e4f8fe 100644
--- a/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
+++ b/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
@@ -21,9 +21,12 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewModelScope
import com.android.customization.model.color.ColorOptionImpl
+import com.android.customization.module.logging.ThemesUserEventLogger
+import com.android.customization.module.logging.ThemesUserEventLogger.Companion.NULL_SEED_COLOR
import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
import com.android.customization.picker.clock.shared.ClockSize
import com.android.customization.picker.clock.shared.model.ClockMetadataModel
+import com.android.customization.picker.clock.shared.toClockSizeForLogging
import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
import com.android.customization.picker.color.shared.model.ColorOptionModel
import com.android.customization.picker.color.shared.model.ColorType
@@ -53,6 +56,7 @@ private constructor(
private val clockPickerInteractor: ClockPickerInteractor,
private val colorPickerInteractor: ColorPickerInteractor,
private val getIsReactiveToTone: (clockId: String?) -> Boolean,
+ private val logger: ThemesUserEventLogger,
) : ViewModel() {
enum class Tab {
@@ -106,15 +110,17 @@ private constructor(
suspend fun onSliderProgressStop(progress: Int) {
val selectedColorId = selectedColorId.value ?: return
val clockColorViewModel = colorMap[selectedColorId] ?: return
+ val seedColor =
+ blendColorWithTone(
+ color = clockColorViewModel.color,
+ colorTone = clockColorViewModel.getColorTone(progress),
+ )
clockPickerInteractor.setClockColor(
selectedColorId = selectedColorId,
colorToneProgress = progress,
- seedColor =
- blendColorWithTone(
- color = clockColorViewModel.color,
- colorTone = clockColorViewModel.getColorTone(progress),
- )
+ seedColor = seedColor,
)
+ logger.logClockColorApplied(seedColor)
}
@OptIn(ExperimentalCoroutinesApi::class)
@@ -169,18 +175,20 @@ private constructor(
} else {
{
viewModelScope.launch {
+ val seedColor =
+ blendColorWithTone(
+ color = colorModel.color,
+ colorTone =
+ colorModel.getColorTone(
+ colorToneProgress,
+ ),
+ )
clockPickerInteractor.setClockColor(
selectedColorId = colorModel.colorId,
colorToneProgress = colorToneProgress,
- seedColor =
- blendColorWithTone(
- color = colorModel.color,
- colorTone =
- colorModel.getColorTone(
- colorToneProgress,
- ),
- ),
+ seedColor = seedColor,
)
+ logger.logClockColorApplied(seedColor)
}
}
}
@@ -244,6 +252,7 @@ private constructor(
ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS,
seedColor = null,
)
+ logger.logClockColorApplied(NULL_SEED_COLOR)
}
}
}
@@ -254,7 +263,10 @@ private constructor(
val selectedClockSize: Flow<ClockSize> = clockPickerInteractor.selectedClockSize
fun setClockSize(size: ClockSize) {
- viewModelScope.launch { clockPickerInteractor.setClockSize(size) }
+ viewModelScope.launch {
+ clockPickerInteractor.setClockSize(size)
+ logger.logClockSizeApplied(size.toClockSizeForLogging())
+ }
}
private val _selectedTabPosition = MutableStateFlow(Tab.COLOR)
@@ -304,6 +316,7 @@ private constructor(
private val context: Context,
private val clockPickerInteractor: ClockPickerInteractor,
private val colorPickerInteractor: ColorPickerInteractor,
+ private val logger: ThemesUserEventLogger,
private val getIsReactiveToTone: (clockId: String?) -> Boolean,
) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
@@ -312,6 +325,7 @@ private constructor(
context = context,
clockPickerInteractor = clockPickerInteractor,
colorPickerInteractor = colorPickerInteractor,
+ logger = logger,
getIsReactiveToTone = getIsReactiveToTone,
)
as T