Loading src/com/android/customization/module/ThemePickerInjector.kt +3 −8 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import com.android.customization.model.themedicon.data.repository.ThemeIconRepos import com.android.customization.model.themedicon.domain.interactor.ThemedIconInteractor import com.android.customization.model.themedicon.domain.interactor.ThemedIconSnapshotRestorer import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLoggerImpl import com.android.customization.picker.clock.data.repository.ClockPickerRepositoryImpl import com.android.customization.picker.clock.data.repository.ClockRegistryProvider import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor Loading Loading @@ -72,7 +71,6 @@ import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.module.CustomizationSections import com.android.wallpaper.module.FragmentFactory import com.android.wallpaper.module.WallpaperPicker2Injector import com.android.wallpaper.module.logging.UserEventLogger import com.android.wallpaper.picker.CustomizationPickerActivity import com.android.wallpaper.picker.customization.data.content.WallpaperClientImpl import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository Loading @@ -92,9 +90,9 @@ internal constructor( @MainDispatcher private val mainScope: CoroutineScope, @MainDispatcher private val mainDispatcher: CoroutineDispatcher, @BackgroundDispatcher private val bgDispatcher: CoroutineDispatcher, ) : WallpaperPicker2Injector(mainScope, bgDispatcher), CustomizationInjector { private val userEventLogger: ThemesUserEventLogger, ) : WallpaperPicker2Injector(mainScope, bgDispatcher, userEventLogger), CustomizationInjector { private var customizationSections: CustomizationSections? = null private var userEventLogger: UserEventLogger? = null private var wallpaperInteractor: WallpaperInteractor? = null private var keyguardQuickAffordancePickerInteractor: KeyguardQuickAffordancePickerInteractor? = null Loading Loading @@ -166,10 +164,7 @@ internal constructor( @Synchronized override fun getUserEventLogger(context: Context): ThemesUserEventLogger { return userEventLogger as? ThemesUserEventLogger ?: ThemesUserEventLoggerImpl(getPreferences(context.applicationContext)).also { userEventLogger = it } return userEventLogger } override fun getFragmentFactory(): FragmentFactory? { Loading src/com/android/customization/module/logging/ThemesUserEventLoggerImpl.kt +8 −2 Original line number Diff line number Diff line Loading @@ -31,10 +31,16 @@ import com.android.wallpaper.module.logging.UserEventLogger.EffectStatus import com.android.wallpaper.module.logging.UserEventLogger.SetWallpaperEntryPoint import com.android.wallpaper.module.logging.UserEventLogger.WallpaperDestination import com.android.wallpaper.util.LaunchSourceUtils import javax.inject.Inject import javax.inject.Singleton /** StatsLog-backed implementation of [ThemesUserEventLogger]. */ class ThemesUserEventLoggerImpl(private val preferences: WallpaperPreferences) : ThemesUserEventLogger { @Singleton class ThemesUserEventLoggerImpl @Inject constructor( private val preferences: WallpaperPreferences, ) : ThemesUserEventLogger { override fun logSnapshot() { SysUiStatsLogger(StyleEnums.SNAPSHOT) Loading src_override/com/android/wallpaper/module/AppModule.kt +11 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ import android.content.Context import com.android.customization.module.CustomizationInjector import com.android.customization.module.DefaultCustomizationPreferences import com.android.customization.module.ThemePickerInjector import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLoggerImpl import com.android.wallpaper.module.logging.UserEventLogger import dagger.Binds import dagger.Module import dagger.Provides Loading @@ -32,6 +35,14 @@ import javax.inject.Singleton abstract class AppModule { @Binds @Singleton abstract fun bindInjector(impl: ThemePickerInjector): CustomizationInjector @Binds @Singleton abstract fun bindUserEventLogger(impl: ThemesUserEventLoggerImpl): UserEventLogger @Binds @Singleton abstract fun bindThemesUserEventLogger(impl: ThemesUserEventLoggerImpl): ThemesUserEventLogger companion object { @Provides @Singleton Loading tests/common/src/com/android/customization/module/logging/TestThemesUserEventLogger.kt +5 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,13 @@ package com.android.customization.module.logging import com.android.customization.model.grid.GridOption import com.android.customization.module.logging.ThemesUserEventLogger.ColorSource import com.android.wallpaper.module.logging.TestUserEventLogger import javax.inject.Inject import javax.inject.Singleton /** Test implementation of [ThemesUserEventLogger]. */ class TestThemesUserEventLogger : TestUserEventLogger(), ThemesUserEventLogger { @Singleton class TestThemesUserEventLogger @Inject constructor() : TestUserEventLogger(), ThemesUserEventLogger { override fun logThemeColorApplied(@ColorSource source: Int, variant: Int, seedColor: Int) {} Loading tests/common/src/com/android/customization/testing/TestCustomizationInjector.kt +4 −6 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import android.content.res.Resources import androidx.activity.ComponentActivity import com.android.customization.module.CustomizationInjector import com.android.customization.module.CustomizationPreferences import com.android.customization.module.logging.TestThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor import com.android.customization.picker.clock.ui.view.ClockViewFactory Loading @@ -25,10 +24,10 @@ import javax.inject.Singleton @Singleton open class TestCustomizationInjector @Inject constructor(private val customPrefs: TestDefaultCustomizationPreferences) : TestInjector(), CustomizationInjector { private var themesUserEventLogger: ThemesUserEventLogger? = null constructor( private val customPrefs: TestDefaultCustomizationPreferences, private val themesUserEventLogger: ThemesUserEventLogger ) : TestInjector(themesUserEventLogger), CustomizationInjector { ///////////////// // CustomizationInjector implementations ///////////////// Loading Loading @@ -95,6 +94,5 @@ constructor(private val customPrefs: TestDefaultCustomizationPreferences) : override fun getUserEventLogger(context: Context): UserEventLogger { return themesUserEventLogger ?: TestThemesUserEventLogger().also { themesUserEventLogger = it } } } Loading
src/com/android/customization/module/ThemePickerInjector.kt +3 −8 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import com.android.customization.model.themedicon.data.repository.ThemeIconRepos import com.android.customization.model.themedicon.domain.interactor.ThemedIconInteractor import com.android.customization.model.themedicon.domain.interactor.ThemedIconSnapshotRestorer import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLoggerImpl import com.android.customization.picker.clock.data.repository.ClockPickerRepositoryImpl import com.android.customization.picker.clock.data.repository.ClockRegistryProvider import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor Loading Loading @@ -72,7 +71,6 @@ import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.module.CustomizationSections import com.android.wallpaper.module.FragmentFactory import com.android.wallpaper.module.WallpaperPicker2Injector import com.android.wallpaper.module.logging.UserEventLogger import com.android.wallpaper.picker.CustomizationPickerActivity import com.android.wallpaper.picker.customization.data.content.WallpaperClientImpl import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository Loading @@ -92,9 +90,9 @@ internal constructor( @MainDispatcher private val mainScope: CoroutineScope, @MainDispatcher private val mainDispatcher: CoroutineDispatcher, @BackgroundDispatcher private val bgDispatcher: CoroutineDispatcher, ) : WallpaperPicker2Injector(mainScope, bgDispatcher), CustomizationInjector { private val userEventLogger: ThemesUserEventLogger, ) : WallpaperPicker2Injector(mainScope, bgDispatcher, userEventLogger), CustomizationInjector { private var customizationSections: CustomizationSections? = null private var userEventLogger: UserEventLogger? = null private var wallpaperInteractor: WallpaperInteractor? = null private var keyguardQuickAffordancePickerInteractor: KeyguardQuickAffordancePickerInteractor? = null Loading Loading @@ -166,10 +164,7 @@ internal constructor( @Synchronized override fun getUserEventLogger(context: Context): ThemesUserEventLogger { return userEventLogger as? ThemesUserEventLogger ?: ThemesUserEventLoggerImpl(getPreferences(context.applicationContext)).also { userEventLogger = it } return userEventLogger } override fun getFragmentFactory(): FragmentFactory? { Loading
src/com/android/customization/module/logging/ThemesUserEventLoggerImpl.kt +8 −2 Original line number Diff line number Diff line Loading @@ -31,10 +31,16 @@ import com.android.wallpaper.module.logging.UserEventLogger.EffectStatus import com.android.wallpaper.module.logging.UserEventLogger.SetWallpaperEntryPoint import com.android.wallpaper.module.logging.UserEventLogger.WallpaperDestination import com.android.wallpaper.util.LaunchSourceUtils import javax.inject.Inject import javax.inject.Singleton /** StatsLog-backed implementation of [ThemesUserEventLogger]. */ class ThemesUserEventLoggerImpl(private val preferences: WallpaperPreferences) : ThemesUserEventLogger { @Singleton class ThemesUserEventLoggerImpl @Inject constructor( private val preferences: WallpaperPreferences, ) : ThemesUserEventLogger { override fun logSnapshot() { SysUiStatsLogger(StyleEnums.SNAPSHOT) Loading
src_override/com/android/wallpaper/module/AppModule.kt +11 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ import android.content.Context import com.android.customization.module.CustomizationInjector import com.android.customization.module.DefaultCustomizationPreferences import com.android.customization.module.ThemePickerInjector import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLoggerImpl import com.android.wallpaper.module.logging.UserEventLogger import dagger.Binds import dagger.Module import dagger.Provides Loading @@ -32,6 +35,14 @@ import javax.inject.Singleton abstract class AppModule { @Binds @Singleton abstract fun bindInjector(impl: ThemePickerInjector): CustomizationInjector @Binds @Singleton abstract fun bindUserEventLogger(impl: ThemesUserEventLoggerImpl): UserEventLogger @Binds @Singleton abstract fun bindThemesUserEventLogger(impl: ThemesUserEventLoggerImpl): ThemesUserEventLogger companion object { @Provides @Singleton Loading
tests/common/src/com/android/customization/module/logging/TestThemesUserEventLogger.kt +5 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,13 @@ package com.android.customization.module.logging import com.android.customization.model.grid.GridOption import com.android.customization.module.logging.ThemesUserEventLogger.ColorSource import com.android.wallpaper.module.logging.TestUserEventLogger import javax.inject.Inject import javax.inject.Singleton /** Test implementation of [ThemesUserEventLogger]. */ class TestThemesUserEventLogger : TestUserEventLogger(), ThemesUserEventLogger { @Singleton class TestThemesUserEventLogger @Inject constructor() : TestUserEventLogger(), ThemesUserEventLogger { override fun logThemeColorApplied(@ColorSource source: Int, variant: Int, seedColor: Int) {} Loading
tests/common/src/com/android/customization/testing/TestCustomizationInjector.kt +4 −6 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import android.content.res.Resources import androidx.activity.ComponentActivity import com.android.customization.module.CustomizationInjector import com.android.customization.module.CustomizationPreferences import com.android.customization.module.logging.TestThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor import com.android.customization.picker.clock.ui.view.ClockViewFactory Loading @@ -25,10 +24,10 @@ import javax.inject.Singleton @Singleton open class TestCustomizationInjector @Inject constructor(private val customPrefs: TestDefaultCustomizationPreferences) : TestInjector(), CustomizationInjector { private var themesUserEventLogger: ThemesUserEventLogger? = null constructor( private val customPrefs: TestDefaultCustomizationPreferences, private val themesUserEventLogger: ThemesUserEventLogger ) : TestInjector(themesUserEventLogger), CustomizationInjector { ///////////////// // CustomizationInjector implementations ///////////////// Loading Loading @@ -95,6 +94,5 @@ constructor(private val customPrefs: TestDefaultCustomizationPreferences) : override fun getUserEventLogger(context: Context): UserEventLogger { return themesUserEventLogger ?: TestThemesUserEventLogger().also { themesUserEventLogger = it } } }