From 480b42f833d10e43396f8942896d5b85b6e77f7d Mon Sep 17 00:00:00 2001 From: Charlie Anderson Date: Tue, 15 Oct 2024 15:22:58 -0400 Subject: [PATCH] Convert PackageManagerHelper to use Dagger Bug: 372012340 Test: presubmit Flag: EXEMPT Dagger change Change-Id: Ic0636fa086c9d846f7b38665a552fc4b2d12faa3 --- .../dagger/LauncherBaseAppComponent.java | 2 ++ .../launcher3/util/PackageManagerHelper.java | 20 +++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java b/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java index ecc5bb24a3..5d0c44e036 100644 --- a/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java +++ b/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java @@ -21,6 +21,7 @@ import android.content.Context; import com.android.launcher3.pm.InstallSessionHelper; import com.android.launcher3.util.ApiWrapper; import com.android.launcher3.util.DaggerSingletonTracker; +import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.PluginManagerWrapper; import com.android.launcher3.util.ScreenOnTracker; import com.android.launcher3.util.SettingsCache; @@ -46,6 +47,7 @@ public interface LauncherBaseAppComponent { SettingsCache getSettingsCache(); CustomWidgetManager getCustomWidgetManager(); PluginManagerWrapper getPluginManagerWrapper(); + PackageManagerHelper getPackageManagerHelper(); /** Builder for LauncherBaseAppComponent. */ interface Builder { diff --git a/src/com/android/launcher3/util/PackageManagerHelper.java b/src/com/android/launcher3/util/PackageManagerHelper.java index e51609ac6e..4b60d9804c 100644 --- a/src/com/android/launcher3/util/PackageManagerHelper.java +++ b/src/com/android/launcher3/util/PackageManagerHelper.java @@ -42,6 +42,9 @@ import androidx.annotation.Nullable; import com.android.launcher3.PendingAddItemInfo; import com.android.launcher3.R; import com.android.launcher3.Utilities; +import com.android.launcher3.dagger.ApplicationContext; +import com.android.launcher3.dagger.LauncherAppSingleton; +import com.android.launcher3.dagger.LauncherBaseAppComponent; import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.ItemInfoWithIcon; @@ -51,16 +54,19 @@ import com.android.launcher3.model.data.WorkspaceItemInfo; import java.util.List; import java.util.Objects; +import javax.inject.Inject; + /** * Utility methods using package manager */ -public class PackageManagerHelper implements SafeCloseable{ +@LauncherAppSingleton +public class PackageManagerHelper { private static final String TAG = "PackageManagerHelper"; @NonNull - public static final MainThreadInitializedObject INSTANCE = - new MainThreadInitializedObject<>(PackageManagerHelper::new); + public static DaggerSingletonObject INSTANCE = + new DaggerSingletonObject<>(LauncherBaseAppComponent::getPackageManagerHelper); @NonNull private final Context mContext; @@ -73,17 +79,15 @@ public class PackageManagerHelper implements SafeCloseable{ private final String[] mLegacyMultiInstanceSupportedApps; - public PackageManagerHelper(@NonNull final Context context) { + @Inject + public PackageManagerHelper(@ApplicationContext final Context context) { mContext = context; mPm = context.getPackageManager(); mLauncherApps = Objects.requireNonNull(context.getSystemService(LauncherApps.class)); mLegacyMultiInstanceSupportedApps = mContext.getResources().getStringArray( - R.array.config_appsSupportMultiInstancesSplit); + R.array.config_appsSupportMultiInstancesSplit); } - @Override - public void close() { } - /** * Returns the installing app package for the given package */