blob: dbbdb74beade7e7117a7d7a5ab547a0c4130c0ce [file] [log] [blame]
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;
}
}