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

Commit f9202b28 authored by George Lin's avatar George Lin
Browse files

Refactor StatsLogUserEventLogger

Instead of injecting the injector, inject the dependecies

Test: Built succesfully
Bug: 289441511
Change-Id: I968fbb7b22e7ccc44bd03cc9f426a6623d5b8504
parent b9bc4760
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -47,8 +47,6 @@ import androidx.annotation.Nullable;
import com.android.customization.model.color.ColorOption;
import com.android.customization.model.grid.GridOption;
import com.android.customization.model.theme.ThemeBundle;
import com.android.wallpaper.module.Injector;
import com.android.wallpaper.module.InjectorProvider;
import com.android.wallpaper.module.NoOpUserEventLogger;
import com.android.wallpaper.module.WallpaperPreferences;
import com.android.wallpaper.module.WallpaperStatusChecker;
@@ -61,16 +59,17 @@ import java.util.Objects;
 */
public class StatsLogUserEventLogger extends NoOpUserEventLogger implements ThemesUserEventLogger {

    private static final String TAG = "StatsLogUserEventLogger";
    private final Context mContext;
    private final WallpaperPreferences mPreferences;
    private final WallpaperStatusChecker mWallpaperStatusChecker;

    public StatsLogUserEventLogger(Context appContext) {
    public StatsLogUserEventLogger(
            Context appContext,
            WallpaperPreferences preferences,
            WallpaperStatusChecker wallpaperStatusChecker) {
        mContext = appContext;
        Injector injector = InjectorProvider.getInjector();
        mPreferences = injector.getPreferences(appContext);
        mWallpaperStatusChecker = injector.getWallpaperStatusChecker();
        mPreferences = preferences;
        mWallpaperStatusChecker = wallpaperStatusChecker;
    }

    @Override
@@ -140,7 +139,7 @@ public class StatsLogUserEventLogger extends NoOpUserEventLogger implements Them

    @Override
    public void logSnapshot() {
        final boolean isLockWallpaperSet = mWallpaperStatusChecker.isLockWallpaperSet(mContext);
        final boolean isLockWallpaperSet = mWallpaperStatusChecker.isLockWallpaperSet();
        final String homeCollectionId = mPreferences.getHomeWallpaperCollectionId();
        final String homeRemoteId = mPreferences.getHomeWallpaperRemoteId();
        final String effects = mPreferences.getHomeWallpaperEffects();
+8 −2
Original line number Diff line number Diff line
@@ -183,8 +183,14 @@ open class ThemePickerInjector : WallpaperPicker2Injector(), CustomizationInject

    @Synchronized
    override fun getUserEventLogger(context: Context): ThemesUserEventLogger {
        return if (userEventLogger != null) userEventLogger as ThemesUserEventLogger
        else StatsLogUserEventLogger(context.applicationContext).also { userEventLogger = it }
        val appContext = context.applicationContext
        return userEventLogger as? ThemesUserEventLogger
            ?: StatsLogUserEventLogger(
                    appContext,
                    getPreferences(appContext),
                    getWallpaperStatusChecker(appContext),
                )
                .also { userEventLogger = it }
    }

    @Synchronized