• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.android.customization.testing
2 
3 import android.app.WallpaperColors
4 import android.content.Context
5 import android.content.res.Resources
6 import androidx.activity.ComponentActivity
7 import com.android.customization.model.color.WallpaperColorResources
8 import com.android.customization.module.CustomizationInjector
9 import com.android.customization.module.CustomizationPreferences
10 import com.android.customization.module.logging.ThemesUserEventLogger
11 import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
12 import com.android.customization.picker.clock.ui.view.ClockViewFactory
13 import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselViewModel
14 import com.android.customization.picker.clock.ui.viewmodel.ClockSettingsViewModel
15 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
16 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
17 import com.android.wallpaper.module.NetworkStatusNotifier
18 import com.android.wallpaper.module.PartnerProvider
19 import com.android.wallpaper.module.WallpaperPreferences
20 import com.android.wallpaper.module.logging.UserEventLogger
21 import com.android.wallpaper.network.Requester
22 import com.android.wallpaper.picker.category.wrapper.WallpaperCategoryWrapper
23 import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
24 import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
25 import com.android.wallpaper.testing.FakeCurrentWallpaperInfoFactory
26 import com.android.wallpaper.testing.FakeWallpaperClient
27 import com.android.wallpaper.testing.FakeWallpaperRefresher
28 import com.android.wallpaper.testing.TestInjector
29 import com.android.wallpaper.testing.TestPackageStatusNotifier
30 import com.android.wallpaper.util.DisplayUtils
31 import javax.inject.Inject
32 import javax.inject.Singleton
33 
34 @Singleton
35 open class TestCustomizationInjector
36 @Inject
37 constructor(
38     private val customPrefs: TestDefaultCustomizationPreferences,
39     private val themesUserEventLogger: ThemesUserEventLogger,
40     displayUtils: DisplayUtils,
41     requester: Requester,
42     networkStatusNotifier: NetworkStatusNotifier,
43     partnerProvider: PartnerProvider,
44     wallpaperClient: FakeWallpaperClient,
45     injectedWallpaperInteractor: WallpaperInteractor,
46     prefs: WallpaperPreferences,
47     private val fakeWallpaperCategoryWrapper: WallpaperCategoryWrapper,
48     testStatusNotifier: TestPackageStatusNotifier,
49     currentWallpaperInfoFactory: FakeCurrentWallpaperInfoFactory,
50     wallpaperRefresher: FakeWallpaperRefresher,
51 ) :
52     TestInjector(
53         themesUserEventLogger,
54         displayUtils,
55         requester,
56         networkStatusNotifier,
57         partnerProvider,
58         wallpaperClient,
59         injectedWallpaperInteractor,
60         prefs,
61         fakeWallpaperCategoryWrapper,
62         testStatusNotifier,
63         currentWallpaperInfoFactory,
64         wallpaperRefresher,
65     ),
66     CustomizationInjector {
67     /////////////////
68     // CustomizationInjector implementations
69     /////////////////
70 
getCustomizationPreferencesnull71     override fun getCustomizationPreferences(context: Context): CustomizationPreferences {
72         return customPrefs
73     }
74 
getKeyguardQuickAffordancePickerInteractornull75     override fun getKeyguardQuickAffordancePickerInteractor(
76         context: Context
77     ): KeyguardQuickAffordancePickerInteractor {
78         throw UnsupportedOperationException("not implemented")
79     }
80 
getWallpaperColorResourcesnull81     override fun getWallpaperColorResources(
82         wallpaperColors: WallpaperColors,
83         context: Context,
84     ): WallpaperColorResources {
85         throw UnsupportedOperationException("not implemented")
86     }
87 
getColorPickerViewModelFactorynull88     override fun getColorPickerViewModelFactory(context: Context): ColorPickerViewModel.Factory {
89         throw UnsupportedOperationException("not implemented")
90     }
91 
getClockCarouselViewModelFactorynull92     override fun getClockCarouselViewModelFactory(
93         interactor: ClockPickerInteractor,
94         clockViewFactory: ClockViewFactory,
95         resources: Resources,
96     ): ClockCarouselViewModel.Factory {
97         throw UnsupportedOperationException("not implemented")
98     }
99 
getClockViewFactorynull100     override fun getClockViewFactory(activity: ComponentActivity): ClockViewFactory {
101         throw UnsupportedOperationException("not implemented")
102     }
103 
getClockSettingsViewModelFactorynull104     override fun getClockSettingsViewModelFactory(
105         context: Context,
106         wallpaperColorsRepository: WallpaperColorsRepository,
107     ): ClockSettingsViewModel.Factory {
108         throw UnsupportedOperationException("not implemented")
109     }
110 
111     /////////////////
112     // TestInjector overrides
113     /////////////////
114 
getUserEventLoggernull115     override fun getUserEventLogger(): UserEventLogger {
116         return themesUserEventLogger
117     }
118 
getWallpaperCategoryWrappernull119     override fun getWallpaperCategoryWrapper(): WallpaperCategoryWrapper {
120         return fakeWallpaperCategoryWrapper
121     }
122 }
123