| package com.android.customization.testing; |
| |
| import android.content.Context; |
| |
| import androidx.fragment.app.FragmentActivity; |
| |
| import com.android.customization.model.theme.OverlayManagerCompat; |
| import com.android.customization.model.theme.ThemeBundleProvider; |
| import com.android.customization.model.theme.ThemeManager; |
| import com.android.customization.module.CustomizationInjector; |
| import com.android.customization.module.CustomizationPreferences; |
| import com.android.customization.module.ThemesUserEventLogger; |
| import com.android.wallpaper.module.DrawableLayerResolver; |
| import com.android.wallpaper.module.PackageStatusNotifier; |
| import com.android.wallpaper.module.UserEventLogger; |
| import com.android.wallpaper.testing.TestInjector; |
| |
| /** |
| * Test implementation of the dependency injector. |
| */ |
| public class TestCustomizationInjector extends TestInjector implements CustomizationInjector { |
| private CustomizationPreferences mCustomizationPreferences; |
| private ThemeManager mThemeManager; |
| private PackageStatusNotifier mPackageStatusNotifier; |
| private DrawableLayerResolver mDrawableLayerResolver; |
| private UserEventLogger mUserEventLogger; |
| |
| @Override |
| public CustomizationPreferences getCustomizationPreferences(Context context) { |
| if (mCustomizationPreferences == null) { |
| mCustomizationPreferences = new TestDefaultCustomizationPreferences(context); |
| } |
| return mCustomizationPreferences; |
| } |
| |
| @Override |
| public ThemeManager getThemeManager( |
| ThemeBundleProvider provider, |
| FragmentActivity activity, |
| OverlayManagerCompat overlayManagerCompat, |
| ThemesUserEventLogger logger) { |
| if (mThemeManager == null) { |
| mThemeManager = new TestThemeManager(provider, activity, overlayManagerCompat, logger); |
| } |
| return mThemeManager; |
| } |
| |
| @Override |
| public PackageStatusNotifier getPackageStatusNotifier(Context context) { |
| if (mPackageStatusNotifier == null) { |
| mPackageStatusNotifier = new TestPackageStatusNotifier(); |
| } |
| return mPackageStatusNotifier; |
| } |
| |
| @Override |
| public DrawableLayerResolver getDrawableLayerResolver() { |
| if (mDrawableLayerResolver == null) { |
| mDrawableLayerResolver = new TestDrawableLayerResolver(); |
| } |
| return mDrawableLayerResolver; |
| } |
| |
| @Override |
| public UserEventLogger getUserEventLogger(Context unused) { |
| if (mUserEventLogger == null) { |
| mUserEventLogger = new TestThemesUserEventLogger(); |
| } |
| return mUserEventLogger; |
| } |
| } |