From dc7be107343c5fc5f7af33681ffd27d1a4b11d79 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Tue, 8 Oct 2013 11:30:19 -0700 Subject: [PATCH] Once we decide to show Home settings, keep it shown forever Principle of Least Surprise FTW. Bug 11131794 Change-Id: I1df720fa86fb870aa74a5d0074ca966843317f12 --- src/com/android/settings/HomeSettings.java | 3 ++- src/com/android/settings/Settings.java | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/HomeSettings.java b/src/com/android/settings/HomeSettings.java index 14e1d9fe367..eb659e27e1d 100644 --- a/src/com/android/settings/HomeSettings.java +++ b/src/com/android/settings/HomeSettings.java @@ -49,7 +49,8 @@ public class HomeSettings extends SettingsPreferenceFragment { static final int REQUESTING_UNINSTALL = 10; - public static final String CURRENT_HOME = "current_home"; + public static final String HOME_PREFS = "home_prefs"; + public static final String HOME_PREFS_DO_SHOW = "do_show"; public static final String HOME_SHOW_NOTICE = "show"; diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index eb98fecff84..2b8bde29e50 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -686,6 +686,12 @@ public class Settings extends PreferenceActivity } private boolean updateHomeSettingHeaders(Header header) { + // Once we decide to show Home settings, keep showing it forever + SharedPreferences sp = getSharedPreferences(HomeSettings.HOME_PREFS, Context.MODE_PRIVATE); + if (sp.getBoolean(HomeSettings.HOME_PREFS_DO_SHOW, false)) { + return true; + } + try { final ArrayList homeApps = new ArrayList(); getPackageManager().getHomeActivities(homeApps); @@ -712,6 +718,8 @@ public class Settings extends PreferenceActivity // Can't look up the home activity; bail on configuring the icon Log.w(LOG_TAG, "Problem looking up home activity!", e); } + + sp.edit().putBoolean(HomeSettings.HOME_PREFS_DO_SHOW, true).apply(); return true; }