Exit app after a wallpaper is applied

Video for all apply button: https://drive.google.com/file/d/14hlFH42wULH2IEl96xD6ReOf-gvb05Bw/view?usp=sharing
The daily rotatio button also exit app.

Test: Manually
Bug: 157951178
Change-Id: I171275555925038b28ca31f058b8a5958fb2534f
diff --git a/src/com/android/wallpaper/module/DefaultWallpaperPersister.java b/src/com/android/wallpaper/module/DefaultWallpaperPersister.java
index 2e23338..b5cab4d 100755
--- a/src/com/android/wallpaper/module/DefaultWallpaperPersister.java
+++ b/src/com/android/wallpaper/module/DefaultWallpaperPersister.java
@@ -491,8 +491,8 @@
     @Override
     public void onLiveWallpaperSet() {
         android.app.WallpaperInfo currentWallpaperComponent = mWallpaperManager.getWallpaperInfo();
-        android.app.WallpaperInfo previewedWallpaperComponent =
-                mWallpaperInfoInPreview.getWallpaperComponent();
+        android.app.WallpaperInfo previewedWallpaperComponent = mWallpaperInfoInPreview != null
+                ? mWallpaperInfoInPreview.getWallpaperComponent() : null;
 
         // If there is no live wallpaper set on the WallpaperManager or it doesn't match the
         // WallpaperInfo which was last previewed, then do nothing and nullify last previewed
diff --git a/src/com/android/wallpaper/picker/WallpaperPickerDelegate.java b/src/com/android/wallpaper/picker/WallpaperPickerDelegate.java
index 1a790dd..8550a8a 100644
--- a/src/com/android/wallpaper/picker/WallpaperPickerDelegate.java
+++ b/src/com/android/wallpaper/picker/WallpaperPickerDelegate.java
@@ -453,7 +453,10 @@
                 imageWallpaper.showPreview(mActivity, getPreviewIntentFactory(),
                         PREVIEW_WALLPAPER_REQUEST_CODE);
                 return false;
+            case VIEW_ONLY_PREVIEW_WALLPAPER_REQUEST_CODE:
+                // Fall through.
             case PREVIEW_WALLPAPER_REQUEST_CODE:
+                // Fall through.
             case PREVIEW_LIVE_WALLPAPER_REQUEST_CODE:
                 // User previewed and selected a wallpaper, so finish this activity.
                 mWallpaperPersister.onLiveWallpaperSet();
diff --git a/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java b/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java
index ee84cdd..f8ee2fc 100755
--- a/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java
+++ b/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java
@@ -820,12 +820,11 @@
             new WallpaperPersister.SetWallpaperCallback() {
                 @Override
                 public void onSuccess(WallpaperInfo wallpaperInfo) {
+                    mWallpaperPersister.onLiveWallpaperSet();
                     Toast.makeText(getActivity(), R.string.wallpaper_set_successfully_message,
                             Toast.LENGTH_SHORT).show();
-                    mBottomActionBar.enableActions();
-                    refreshAppliedWallpaper();
-
-                    mWallpaperPersister.onLiveWallpaperSet();
+                    getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
+                    getActivity().finish();
                 }
 
                 @Override