summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2014-05-20 15:19:29 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2014-05-20 15:19:29 -0700
commit680b064b293888ea47a6211943b51bee3adfb70d (patch)
treebdb7c4f92a0c7481a737b155250bc60ab3277f61
parentd2b64f339adb8f019e3c712e388e35830d8b68a9 (diff)
downloadpackages_apps_Settings-680b064b293888ea47a6211943b51bee3adfb70d.zip
packages_apps_Settings-680b064b293888ea47a6211943b51bee3adfb70d.tar.gz
packages_apps_Settings-680b064b293888ea47a6211943b51bee3adfb70d.tar.bz2
Optimize categories loading and refresh
See bug: #15091992 Opening sub activities in settings is very slow Change-Id: I6e2e7a07fed72f35850da0614adaafde94618a4e
-rw-r--r--src/com/android/settings/SettingsActivity.java18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 7b0c18d..5b78950 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -477,9 +477,6 @@ public class SettingsActivity extends Activity
mDisplayHomeAsUpEnabled = savedState.getBoolean(SAVE_KEY_SHOW_HOME_AS_UP);
} else {
- // We need to build the Categories in all cases
- buildDashboardCategories(mCategories);
-
if (!mIsShowingDashboard) {
final ComponentName cn = getIntent().getComponent();
// No UP is we are launched thru a Settings shortcut
@@ -494,6 +491,9 @@ public class SettingsActivity extends Activity
switchToFragment( initialFragmentName, initialArguments, true, false,
mInitialTitle, false);
} else {
+ // We need to build the Categories in all cases
+ buildDashboardCategories(mCategories);
+
// No UP if we are displaying the main Dashboard
mDisplayHomeAsUpEnabled = false;
if (mCategories.size() > 0) {
@@ -634,8 +634,6 @@ public class SettingsActivity extends Activity
mDevelopmentPreferences.registerOnSharedPreferenceChangeListener(
mDevelopmentPreferencesListener);
- invalidateCategories();
-
registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
mDynamicIndexableContentMonitor.register(this);
@@ -651,17 +649,17 @@ public class SettingsActivity extends Activity
unregisterReceiver(mBatteryInfoReceiver);
- mDevelopmentPreferences.unregisterOnSharedPreferenceChangeListener(
- mDevelopmentPreferencesListener);
-
- mDevelopmentPreferencesListener = null;
-
mDynamicIndexableContentMonitor.unregister();
}
@Override
public void onDestroy() {
super.onDestroy();
+
+ mDevelopmentPreferences.unregisterOnSharedPreferenceChangeListener(
+ mDevelopmentPreferencesListener);
+ mDevelopmentPreferencesListener = null;
+
if (mListeningToAccountUpdates) {
AccountManager.get(this).removeOnAccountsUpdatedListener(this);
}