diff options
author | George Lin <giolin@google.com> | 2023-10-17 16:18:32 +0000 |
---|---|---|
committer | George Lin <giolin@google.com> | 2023-10-24 21:42:28 +0000 |
commit | e0c5f7105186273bb3fe270caf9b6dfb494ecba9 (patch) | |
tree | f4998097c397025926375bb4281d7c570f3f4575 /src/com | |
parent | e209f49a887092a5dff2c7b6baad925b99160dbb (diff) | |
download | ThemePicker-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')
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 |