From fdfac783aba9411ec5aa267d9d7792c493c23414 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Wed, 8 Sep 2021 10:52:14 +0800 Subject: [PATCH] Add android:configChanges for SettingsHomepageActivity When resuming Settings app of large screen devices, SettingsHomepageActivity will be re-created for Activity resized. It produces unnecessary Activity destroy and re-create. This change prevents SettingsHomepageActivity from configuration changes for screenSize|screenLayout. Bug: 198361315 Test: manual 1. Launch Settings app by a Settings shortcut widget. 2. Move Settings app to background. 3. Click Settings shortcut widget again. Observe if SettingsHomepageActivity re-creates. Change-Id: I4d71330f6a1760768ba4443e192f66b0a2cbb6bf --- AndroidManifest.xml | 2 +- .../android/settings/homepage/SettingsHomepageActivity.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2c3eb057fc3..7ea777de02f 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -136,7 +136,7 @@ android:taskAffinity="com.android.settings.root" android:launchMode="singleTask" android:exported="true" - android:configChanges="keyboard|keyboardHidden"> + android:configChanges="keyboard|keyboardHidden|screenSize|screenLayout"> diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java index 4a0a912323c..f073a618e05 100644 --- a/src/com/android/settings/homepage/SettingsHomepageActivity.java +++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java @@ -208,6 +208,9 @@ public class SettingsHomepageActivity extends FragmentActivity implements return; } + // To prevent launchDeepLinkIntentToRight again for configuration change. + intent.setAction(null); + targetIntent.setFlags(targetIntent.getFlags() & ~Intent.FLAG_ACTIVITY_NEW_TASK); targetIntent.putExtra(EXTRA_IS_FROM_SETTINGS_HOMEPAGE, true);