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