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

Commit b3a18602 authored by George Lin's avatar George Lin Committed by Android (Google) Code Review
Browse files

Merge "Log enter screen (1/2)" into main

parents 2658cb66 4b38ed37
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -36,6 +36,12 @@ import android.stats.style.StyleEnums.LAUNCHED_SUW
import android.stats.style.StyleEnums.LAUNCHED_TIPS
import android.stats.style.StyleEnums.LOCK_SCREEN_NOTIFICATION_APPLIED
import android.stats.style.StyleEnums.RESET_APPLIED
import android.stats.style.StyleEnums.SCREEN_CLOCK
import android.stats.style.StyleEnums.SCREEN_COLORS
import android.stats.style.StyleEnums.SCREEN_ICONS
import android.stats.style.StyleEnums.SCREEN_LAYOUT
import android.stats.style.StyleEnums.SCREEN_SHORTCUTS
import android.stats.style.StyleEnums.SCREEN_UNSPECIFIED
import android.stats.style.StyleEnums.SHAPE_APPLIED
import android.stats.style.StyleEnums.SHORTCUT_APPLIED
import android.stats.style.StyleEnums.SNAPSHOT
@@ -54,12 +60,18 @@ import com.android.customization.model.color.ColorCustomizationManager
import com.android.customization.model.grid.GridOption
import com.android.customization.module.logging.ThemesUserEventLogger.ClockSize
import com.android.customization.module.logging.ThemesUserEventLogger.ColorSource
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.APP_ICONS
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.COLORS
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.GRID
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerLockCustomizationOption.CLOCK
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerLockCustomizationOption.SHORTCUTS
import com.android.wallpaper.module.WallpaperPreferences
import com.android.wallpaper.module.logging.UserEventLogger.CustomizationPickerScreen
import com.android.wallpaper.module.logging.UserEventLogger.EffectStatus
import com.android.wallpaper.module.logging.UserEventLogger.LaunchedPreference
import com.android.wallpaper.module.logging.UserEventLogger.SetWallpaperEntryPoint
import com.android.wallpaper.module.logging.UserEventLogger.WallpaperDestination
import com.android.wallpaper.picker.customization.ui.util.CustomizationOptionUtil.CustomizationOption
import com.android.wallpaper.util.LaunchSourceUtils
import javax.inject.Inject
import javax.inject.Singleton
@@ -266,6 +278,20 @@ constructor(
            .log()
    }

    @CustomizationPickerScreen
    override fun transformCustomizationOptionToScreenForLogging(
        customizationOption: CustomizationOption
    ): Int {
        return when (customizationOption) {
            COLORS -> SCREEN_COLORS
            APP_ICONS -> SCREEN_ICONS
            GRID -> SCREEN_LAYOUT
            CLOCK -> SCREEN_CLOCK
            SHORTCUTS -> SCREEN_SHORTCUTS
            else -> SCREEN_UNSPECIFIED
        }
    }

    /**
     * The grid integer depends on the column and row numbers. For example: 4x5 is 405 13x37 is 1337
     * The upper limit for the column / row count is 99.
+26 −2
Original line number Diff line number Diff line
@@ -19,10 +19,20 @@ import android.app.WallpaperManager
import android.content.Intent
import android.graphics.Color
import android.stats.style.StyleEnums
import android.stats.style.StyleEnums.SCREEN_CLOCK
import android.stats.style.StyleEnums.SCREEN_COLORS
import android.stats.style.StyleEnums.SCREEN_ICONS
import android.stats.style.StyleEnums.SCREEN_LAYOUT
import android.stats.style.StyleEnums.SCREEN_SHORTCUTS
import android.stats.style.StyleEnums.SNAPSHOT
import androidx.test.filters.SmallTest
import com.android.customization.model.color.ColorCustomizationManager
import com.android.customization.model.grid.GridOption
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.APP_ICONS
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.COLORS
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.GRID
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerLockCustomizationOption.CLOCK
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerLockCustomizationOption.SHORTCUTS
import com.android.wallpaper.module.WallpaperPreferences
import com.android.wallpaper.util.LaunchSourceUtils
import com.google.common.truth.Truth.assertThat
@@ -455,12 +465,26 @@ class ThemesUserEventLoggerImplTest {

    @Test
    fun logEnterScreen() {
        underTest.logEnterScreen(StyleEnums.SCREEN_CLOCK)
        underTest.logEnterScreen(SCREEN_CLOCK)

        assertThat(fakeStatsLogger.action).isEqualTo(StyleEnums.ENTER_SCREEN)
        assertThat(fakeStatsLogger.logCalled).isTrue()
        assertThat(fakeStatsLogger.appSessionId).isEqualTo(FakeAppSessionId.TEST_APP_SESSION_ID)
        assertThat(fakeStatsLogger.customizationPickerScreen).isEqualTo(StyleEnums.SCREEN_CLOCK)
        assertThat(fakeStatsLogger.customizationPickerScreen).isEqualTo(SCREEN_CLOCK)
    }

    @Test
    fun transformCustomizationOptionToScreenForLogging() {
        assertThat(underTest.transformCustomizationOptionToScreenForLogging(COLORS))
            .isEqualTo(SCREEN_COLORS)
        assertThat(underTest.transformCustomizationOptionToScreenForLogging(APP_ICONS))
            .isEqualTo(SCREEN_ICONS)
        assertThat(underTest.transformCustomizationOptionToScreenForLogging(GRID))
            .isEqualTo(SCREEN_LAYOUT)
        assertThat(underTest.transformCustomizationOptionToScreenForLogging(CLOCK))
            .isEqualTo(SCREEN_CLOCK)
        assertThat(underTest.transformCustomizationOptionToScreenForLogging(SHORTCUTS))
            .isEqualTo(SCREEN_SHORTCUTS)
    }

    companion object {