diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2014-05-20 15:19:29 -0700 |
---|---|---|
committer | Fabrice Di Meglio <fdimeglio@google.com> | 2014-05-20 15:19:29 -0700 |
commit | 680b064b293888ea47a6211943b51bee3adfb70d (patch) | |
tree | bdb7c4f92a0c7481a737b155250bc60ab3277f61 | |
parent | d2b64f339adb8f019e3c712e388e35830d8b68a9 (diff) | |
download | packages_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.java | 18 |
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); } |