From 76f46fc8694dd445dc0c3559c6c44d22fc269848 Mon Sep 17 00:00:00 2001 From: Tony Mantler Date: Mon, 10 Apr 2017 15:20:59 -0700 Subject: [PATCH] Fix sketchy usage of new PreferenceScreen Things get weird if you don't use PreferenceManager#createPreferenceScreen Bug: 37216851 Test: Compiles and runs Change-Id: I7cebec133c4f27f7eeda83c95d8acb4823f67dc4 --- res/xml/empty_settings.xml | 18 ++++++++++++++++++ src/com/android/settings/ApnSettings.java | 3 +-- .../development/DevelopmentSettings.java | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 res/xml/empty_settings.xml diff --git a/res/xml/empty_settings.xml b/res/xml/empty_settings.xml new file mode 100644 index 00000000000..d63f7d6ab9b --- /dev/null +++ b/res/xml/empty_settings.xml @@ -0,0 +1,18 @@ + + + + diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java index 5e31a027a35..b460050eea4 100755 --- a/src/com/android/settings/ApnSettings.java +++ b/src/com/android/settings/ApnSettings.java @@ -184,8 +184,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements mUnavailable = isUiRestricted(); setHasOptionsMenu(!mUnavailable); if (mUnavailable) { - setPreferenceScreen(new PreferenceScreen(getPrefContext(), null)); - getPreferenceScreen().removeAll(); + addPreferencesFromResource(R.xml.empty_settings); return; } diff --git a/src/com/android/settings/development/DevelopmentSettings.java b/src/com/android/settings/development/DevelopmentSettings.java index 2bfb60222cd..3deedaf4b9c 100644 --- a/src/com/android/settings/development/DevelopmentSettings.java +++ b/src/com/android/settings/development/DevelopmentSettings.java @@ -396,7 +396,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment // Block access to developer options if the user is not the owner, if user policy // restricts it, or if the device has not been provisioned mUnavailable = true; - setPreferenceScreen(new PreferenceScreen(getPrefContext(), null)); + addPreferencesFromResource(R.xml.empty_settings); return; }