diff options
author | Scott Mertz <scott@cyngn.com> | 2016-06-28 18:00:08 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-07-05 16:24:07 -0700 |
commit | d4287ef98ddcaa759b0f3501f51ef52065d2605b (patch) | |
tree | 2d294fead80c54df649accf3b8cf95ffe3fa6222 | |
parent | e64a234e25e61a906c94b3ba0a87f322c3caaaac (diff) | |
download | packages_apps_Settings-d4287ef98ddcaa759b0f3501f51ef52065d2605b.zip packages_apps_Settings-d4287ef98ddcaa759b0f3501f51ef52065d2605b.tar.gz packages_apps_Settings-d4287ef98ddcaa759b0f3501f51ef52065d2605b.tar.bz2 |
Prevent orientation changes from destroying/recreating security settings
Logic in SecuritySettings deliberately recreates the entire preference
tree in onResume rather than onCreate. This causes the state to be
lost when the orientation changes.
Instead of destroying/recreating when the orientation changes, handle
it ourselves.
Change-Id: I6276d8f97cb64a4823286f263642926561d7f2d0
-rwxr-xr-x | AndroidManifest.xml | 6 | ||||
-rw-r--r-- | src/com/android/settings/SubSettings.java | 1 | ||||
-rw-r--r-- | src/com/android/settings/Utils.java | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 523d4cc..ed8d6ed 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -394,6 +394,12 @@ android:parentActivityName="Settings"> </activity> + <activity android:name=".SubSettings$SecuritySubSettings" + android:taskAffinity="com.android.settings" + android:configChanges="orientation|keyboardHidden|screenSize" + android:parentActivityName="Settings"> + </activity> + <activity android:name="Settings$BluetoothSettingsActivity" android:label="@string/bluetooth_settings_title" android:taskAffinity=""> diff --git a/src/com/android/settings/SubSettings.java b/src/com/android/settings/SubSettings.java index 13ead6e..2bf451e 100644 --- a/src/com/android/settings/SubSettings.java +++ b/src/com/android/settings/SubSettings.java @@ -36,4 +36,5 @@ public class SubSettings extends SettingsActivity { return true; } public static class BluetoothSubSettings extends SubSettings { /* empty */ } + public static class SecuritySubSettings extends SubSettings { /* empty */ } } diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 5c58193..49b93e6 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -867,6 +867,9 @@ public final class Utils { if (BluetoothSettings.class.getName().equals(fragmentName)) { intent.setClass(context, SubSettings.BluetoothSubSettings.class); intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true); + } else if (SecuritySettings.class.getName().equals(fragmentName)) { + intent.setClass(context, SubSettings.SecuritySubSettings.class); + intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true); } else { intent.setClass(context, SubSettings.class); } |