Merge mpr-2021-11-05

Change-Id: Idecb426323285532c211cf56469f0d03b3d3f94c
diff --git a/src/com/android/wallpaper/module/WallpaperSetter.java b/src/com/android/wallpaper/module/WallpaperSetter.java
index 9d5bb96..7f2be7c 100644
--- a/src/com/android/wallpaper/module/WallpaperSetter.java
+++ b/src/com/android/wallpaper/module/WallpaperSetter.java
@@ -21,6 +21,7 @@
 
 import com.android.wallpaper.R;
 import com.android.wallpaper.asset.Asset;
+import com.android.wallpaper.asset.BuiltInWallpaperAsset;
 import com.android.wallpaper.model.LiveWallpaperInfo;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.UserEventLogger.WallpaperSetFailureReason;
@@ -302,7 +303,9 @@
             SetWallpaperDialogFragment setWallpaperDialog = new SetWallpaperDialogFragment();
             setWallpaperDialog.setTitleResId(titleResId);
             setWallpaperDialog.setListener(listenerWrapper);
-            if (homeWallpaper instanceof LiveWallpaperInfo && lockWallpaper == null) {
+            boolean isBuiltIn = homeWallpaper.getAsset(activity) instanceof BuiltInWallpaperAsset;
+            if ((homeWallpaper instanceof LiveWallpaperInfo || isBuiltIn)
+                    && lockWallpaper == null) {
                 if (isLiveWallpaper) {
                     // If lock wallpaper is live and we're setting a live wallpaper, we can only
                     // set it to both, so bypass the dialog.