Move LauncherRestoreEventLogger to dagger

Helps us to delete ResourceBasedOverride class.
Delete "launcher_restore_event_logger_class" resource from config.

Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: Ia11162979f016513bd09e06796346d29699b2efd
This commit is contained in:
Anushree Ganjam
2025-04-24 00:49:00 +00:00
parent b92b8847d0
commit 06bc3f5301
7 changed files with 29 additions and 18 deletions
@@ -3,14 +3,14 @@ package com.android.launcher3.backuprestore
import android.content.Context
import androidx.annotation.StringDef
import com.android.launcher3.LauncherSettings.Favorites
import com.android.launcher3.R
import com.android.launcher3.util.ResourceBasedOverride
import com.android.launcher3.dagger.LauncherComponentProvider
import javax.inject.Inject
/**
* Wrapper for logging Restore event metrics for both success and failure to restore the Launcher
* workspace from a backup.
*/
open class LauncherRestoreEventLogger : ResourceBasedOverride {
open class LauncherRestoreEventLogger @Inject constructor() {
/** Enumeration of potential errors returned to calls of pause/resume app updates. */
@Retention(AnnotationRetention.SOURCE)
@@ -68,12 +68,8 @@ open class LauncherRestoreEventLogger : ResourceBasedOverride {
companion object {
const val TAG = "LauncherRestoreEventLogger"
fun newInstance(context: Context?): LauncherRestoreEventLogger {
return ResourceBasedOverride.Overrides.getObject(
LauncherRestoreEventLogger::class.java,
context,
R.string.launcher_restore_event_logger_class,
)
fun newInstance(context: Context): LauncherRestoreEventLogger {
return LauncherComponentProvider.get(context).launcherRestoreEventLogger
}
}
@@ -24,6 +24,7 @@ import com.android.launcher3.InvariantDeviceProfile;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherPrefs;
import com.android.launcher3.RemoveAnimationSettingsTracker;
import com.android.launcher3.backuprestore.LauncherRestoreEventLogger;
import com.android.launcher3.folder.FolderNameSuggestionLoader;
import com.android.launcher3.graphics.GridCustomizationsProxy;
import com.android.launcher3.graphics.ThemeManager;
@@ -89,6 +90,8 @@ public interface LauncherBaseAppComponent {
IconPool getIconPool();
RemoveAnimationSettingsTracker getRemoveAnimationSettingsTracker();
LauncherAppState getLauncherAppState();
LauncherRestoreEventLogger getLauncherRestoreEventLogger();
GridCustomizationsProxy getGridCustomizationsProxy();
FolderNameSuggestionLoader getFolderNameSuggestionLoader();
LoaderCursorFactory getLoaderCursorFactory();
@@ -171,6 +171,7 @@ public class LoaderTask implements Runnable {
private boolean mItemsDeleted = false;
private String mDbName;
private final Provider<FolderNameProvider> mFolderNameProviderFactory;
private final Provider<LauncherRestoreEventLogger> mRestoreEventLoggerProvider;
@AssistedInject
LoaderTask(
@@ -187,7 +188,8 @@ public class LoaderTask implements Runnable {
Provider<FolderNameProvider> folderNameProviderFactory,
@Named("SAFE_MODE") boolean isSafeModeEnabled,
@Assisted @NonNull BaseLauncherBinder launcherBinder,
@Assisted UserManagerState userManagerState) {
@Assisted UserManagerState userManagerState,
Provider<LauncherRestoreEventLogger> restoreEventLoggerFactory) {
mContext = context;
mIDP = idp;
mModel = model;
@@ -206,6 +208,7 @@ public class LoaderTask implements Runnable {
mUserManagerState = userManagerState;
mInstallingPkgsCached = null;
mFolderNameProviderFactory = folderNameProviderFactory;
mRestoreEventLoggerProvider = restoreEventLoggerFactory;
}
protected synchronized void waitForIdle() {
@@ -272,7 +275,7 @@ public class LoaderTask implements Runnable {
LauncherPrefs.get(mContext).get(IS_FIRST_LOAD_AFTER_RESTORE);
LauncherRestoreEventLogger restoreEventLogger = null;
if (enableLauncherBrMetricsFixed()) {
restoreEventLogger = LauncherRestoreEventLogger.Companion.newInstance(mContext);
restoreEventLogger = mRestoreEventLoggerProvider.get();
}
try (LauncherModel.LoaderTransaction transaction = mModel.beginLoader(this)) {
List<CacheableShortcutInfo> allShortcuts = new ArrayList<>();