Merge "Import translations. DO NOT MERGE ANYWHERE" into sc-dev
diff --git a/src/com/android/customization/module/DefaultCustomizationInjector.java b/src/com/android/customization/module/DefaultCustomizationInjector.java
index 24dfb58..db899a3 100644
--- a/src/com/android/customization/module/DefaultCustomizationInjector.java
+++ b/src/com/android/customization/module/DefaultCustomizationInjector.java
@@ -15,9 +15,6 @@
  */
 package com.android.customization.module;
 
-import static com.android.wallpaper.picker.CustomizationPickerActivity.WALLPAPER_FLAVOR_EXTRA;
-import static com.android.wallpaper.picker.CustomizationPickerActivity.WALLPAPER_FOCUS;
-
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
@@ -107,7 +104,6 @@
         Intent intent = new Intent();
         intent.setClass(context, CustomizationPickerActivity.class);
         intent.setData(uri);
-        intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_FOCUS);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
         return intent;
     }
diff --git a/src/com/android/customization/picker/theme/ThemeFragment.java b/src/com/android/customization/picker/theme/ThemeFragment.java
index 3537c36..f5d56ca 100644
--- a/src/com/android/customization/picker/theme/ThemeFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFragment.java
@@ -52,6 +52,7 @@
 import com.android.wallpaper.picker.AppbarFragment;
 import com.android.wallpaper.widget.BottomActionBar;
 import com.android.wallpaper.widget.BottomActionBar.AccessibilityCallback;
+import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;
 
 import java.util.List;
 
@@ -147,9 +148,9 @@
             mBottomActionBar.disableActions();
             applyTheme();
         });
-        mThemeInfoView = (ThemeInfoView) LayoutInflater.from(getContext()).inflate(
-                R.layout.theme_info_view, /* root= */ null);
-        mBottomActionBar.attachViewToBottomSheetAndBindAction(mThemeInfoView, INFORMATION);
+
+        mBottomActionBar.bindBottomSheetContentWithAction(
+                new ThemeInfoContent(getContext()), INFORMATION);
         mBottomActionBar.setActionClickListener(CUSTOMIZE, this::onCustomizeClicked);
 
         // Update target view's accessibility param since it will be blocked by the bottom sheet
@@ -378,4 +379,24 @@
                 themeToEdit.getSerializedPackages());
         startActivityForResult(intent, CustomThemeActivity.REQUEST_CODE_CUSTOM_THEME);
     }
+
+    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {
+
+        private ThemeInfoContent(Context context) {
+            super(context);
+        }
+
+        @Override
+        public int getViewId() {
+            return R.layout.theme_info_view;
+        }
+
+        @Override
+        public void onViewCreated(ThemeInfoView view) {
+            mThemeInfoView = view;
+            if (mSelectedTheme != null) {
+                mThemeInfoView.populateThemeInfo(mSelectedTheme);
+            }
+        }
+    }
 }
diff --git a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
index 5ea84ce..3ba64ec 100644
--- a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
@@ -21,6 +21,7 @@
 import static com.android.wallpaper.widget.BottomActionBar.BottomAction.INFORMATION;
 
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
@@ -42,6 +43,7 @@
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.picker.AppbarFragment;
 import com.android.wallpaper.widget.BottomActionBar;
+import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;
 
 import com.bumptech.glide.Glide;
 
@@ -131,10 +133,8 @@
         } else {
             bottomActionBar.showActionsOnly(INFORMATION);
         }
-        ThemeInfoView themeInfoView = (ThemeInfoView) LayoutInflater.from(getContext()).inflate(
-                R.layout.theme_info_view, /* root= */ null);
-        themeInfoView.populateThemeInfo(mThemeBundle);
-        bottomActionBar.attachViewToBottomSheetAndBindAction(themeInfoView, INFORMATION);
+        bottomActionBar.bindBottomSheetContentWithAction(
+                new ThemeInfoContent(getContext()), INFORMATION);
         bottomActionBar.show();
     }
 
@@ -145,4 +145,21 @@
         activity.setResult(RESULT_OK, intent);
         activity.finish();
     }
+
+    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {
+
+        private ThemeInfoContent(Context context) {
+            super(context);
+        }
+
+        @Override
+        public int getViewId() {
+            return R.layout.theme_info_view;
+        }
+
+        @Override
+        public void onViewCreated(ThemeInfoView view) {
+            view.populateThemeInfo(mThemeBundle);
+        }
+    }
 }