Fix the startup logic from launcher

Correctly check for Launcher extra.

Bug: 122524192
Change-Id: I3477a3d3b9506fdd69156f65cd7d10030d2aac6d
diff --git a/src/com/android/customization/picker/CustomizationPickerActivity.java b/src/com/android/customization/picker/CustomizationPickerActivity.java
index e0aaa7a..d86f5dc 100644
--- a/src/com/android/customization/picker/CustomizationPickerActivity.java
+++ b/src/com/android/customization/picker/CustomizationPickerActivity.java
@@ -75,7 +75,8 @@
         CategoryFragmentHost, ThemeFragmentHost, GridFragmentHost, ClockFragmentHost {
 
     private static final String TAG = "CustomizationPickerActivity";
-    private static final String WALLPAPER_ONLY_EXTRA = "wallpaper_only";
+    private static final String WALLPAPER_FLAVOR_EXTRA = "com.android.launcher3.WALLPAPER_FLAVOR";
+    private static final String WALLPAPER_ONLY = "wallpaper_only";
 
     private WallpaperPickerDelegate mDelegate;
     private UserEventLogger mUserEventLogger;
@@ -95,9 +96,7 @@
 
         if (!supportsCustomization()) {
             Log.w(TAG, "Themes not supported, reverting to Wallpaper Picker");
-            Intent intent = new Intent(this, TopLevelPickerActivity.class);
-            startActivity(intent);
-            finish();
+            skipToWallpaperPicker();
         } else {
             setContentView(R.layout.activity_customization_picker_main);
             setUpBottomNavView();
@@ -115,19 +114,34 @@
         }
     }
 
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        if (WALLPAPER_ONLY.equals(intent.getStringExtra(WALLPAPER_FLAVOR_EXTRA))) {
+            skipToWallpaperPicker();
+        }
+    }
+
+    private void skipToWallpaperPicker() {
+        Intent intent = new Intent(this, TopLevelPickerActivity.class);
+        startActivity(intent);
+        finish();
+    }
+
     private boolean supportsCustomization() {
         return mDelegate.getFormFactor() == FormFactorChecker.FORM_FACTOR_MOBILE
                 && mSections.size() > 1;
     }
 
     private void initSections() {
+        mSections.clear();
         if (!BuildCompat.isAtLeastQ()) {
             return;
         }
         if (Build.TYPE.equals("user")) {
             return;
         }
-        if (getIntent().hasExtra(WALLPAPER_ONLY_EXTRA)) {
+        if (WALLPAPER_ONLY.equals(getIntent().getStringExtra(WALLPAPER_FLAVOR_EXTRA))) {
             return;
         }
         //Theme