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