Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 680b064b authored by Fabrice Di Meglio's avatar Fabrice Di Meglio
Browse files

Optimize categories loading and refresh

See bug: #15091992 Opening sub activities in settings is very slow

Change-Id: I6e2e7a07fed72f35850da0614adaafde94618a4e
parent d2b64f33
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -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);
        }