On device categories re-design [1/n]
Make DefaultPartnerProvider extensible
go/improved-1p-lwp
Bug: 152634213
Change-Id: Id48729f227823b6d0e6c768ceb045a892888f6e0
diff --git a/src/com/android/wallpaper/module/DefaultCategoryProvider.java b/src/com/android/wallpaper/module/DefaultCategoryProvider.java
index ee7b0cb..b8267d9 100755
--- a/src/com/android/wallpaper/module/DefaultCategoryProvider.java
+++ b/src/com/android/wallpaper/module/DefaultCategoryProvider.java
@@ -128,10 +128,13 @@
protected static class FetchCategoriesTask extends AsyncTask<Void, Category, Void> {
private CategoryReceiver mReceiver;
protected final Context mAppContext;
+ protected final PartnerProvider mPartnerProvider;
public FetchCategoriesTask(CategoryReceiver receiver, Context context) {
mReceiver = receiver;
mAppContext = context.getApplicationContext();
+ mPartnerProvider = InjectorProvider.getInjector().getPartnerProvider(
+ mAppContext);
}
@Override
@@ -207,9 +210,7 @@
private Category getOnDeviceCategory() {
List<WallpaperInfo> onDeviceWallpapers = new ArrayList<>();
- PartnerProvider partnerProvider = InjectorProvider.getInjector().getPartnerProvider(
- mAppContext);
- if (!partnerProvider.shouldHideDefaultWallpaper()) {
+ if (!mPartnerProvider.shouldHideDefaultWallpaper()) {
DefaultWallpaperInfo defaultWallpaperInfo = new DefaultWallpaperInfo();
onDeviceWallpapers.add(defaultWallpaperInfo);
}
diff --git a/src/com/android/wallpaper/module/DefaultPartnerProvider.java b/src/com/android/wallpaper/module/DefaultPartnerProvider.java
index 385af77..91d6b35 100755
--- a/src/com/android/wallpaper/module/DefaultPartnerProvider.java
+++ b/src/com/android/wallpaper/module/DefaultPartnerProvider.java
@@ -25,8 +25,9 @@
import android.util.Log;
import android.util.Pair;
-import java.io.File;
+import androidx.annotation.Nullable;
+import java.io.File;
/**
* Provides content from the partner customization apk on the device (if there is one).
@@ -54,7 +55,8 @@
* @return Pair of the package name and the Resources for the APK, or null if the APK isn't found
* on the device.
*/
- private static Pair<String, Resources> findSystemApk(PackageManager pm) {
+ @Nullable
+ protected Pair<String, Resources> findSystemApk(PackageManager pm) {
final Intent intent = new Intent(PartnerProvider.ACTION_PARTNER_CUSTOMIZATION);
for (ResolveInfo info : pm.queryBroadcastReceivers(intent, 0)) {
if (info.activityInfo != null