Loading src/com/android/settings/datausage/DataSaverSummary.java +36 −26 Original line number Diff line number Diff line Loading @@ -55,17 +55,21 @@ public class DataSaverSummary extends SettingsPreferenceFragment // Flag used to avoid infinite loop due if user switch it on/off too quicky. private boolean mSwitching; private Runnable mLoadAppRunnable = () -> { mApplicationsState = ApplicationsState.getInstance( (Application) getContext().getApplicationContext()); mDataUsageBridge = new AppStateDataUsageBridge(mApplicationsState, this, mDataSaverBackend); mSession = mApplicationsState.newSession(this, getSettingsLifecycle()); mDataUsageBridge.resume(true /* forceLoadAllApps */); }; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.data_saver); mUnrestrictedAccess = findPreference(KEY_UNRESTRICTED_ACCESS); mApplicationsState = ApplicationsState.getInstance( (Application) getContext().getApplicationContext()); mDataSaverBackend = new DataSaverBackend(getContext()); mDataUsageBridge = new AppStateDataUsageBridge(mApplicationsState, this, mDataSaverBackend); mSession = mApplicationsState.newSession(this, getSettingsLifecycle()); } @Override Loading @@ -83,15 +87,21 @@ public class DataSaverSummary extends SettingsPreferenceFragment mDataSaverBackend.refreshAllowlist(); mDataSaverBackend.refreshDenylist(); mDataSaverBackend.addListener(this); if (mDataUsageBridge != null) { mDataUsageBridge.resume(true /* forceLoadAllApps */); } else { getView().post(mLoadAppRunnable); } } @Override public void onPause() { super.onPause(); mDataSaverBackend.remListener(this); if (mDataUsageBridge != null) { mDataUsageBridge.pause(); } } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { Loading Loading @@ -132,24 +142,7 @@ public class DataSaverSummary extends SettingsPreferenceFragment @Override public void onExtraInfoUpdated() { if (!isAdded()) { return; } int count = 0; final ArrayList<AppEntry> allApps = mSession.getAllApps(); final int N = allApps.size(); for (int i = 0; i < N; i++) { final AppEntry entry = allApps.get(i); if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) { continue; } if (entry.extraInfo != null && ((AppStateDataUsageBridge.DataUsageState) entry.extraInfo).isDataSaverAllowlisted) { count++; } } mUnrestrictedAccess.setSummary(getResources().getQuantityString( R.plurals.data_saver_unrestricted_summary, count, count)); updateUnrestrictedAccessSummary(); } @Override Loading Loading @@ -179,12 +172,12 @@ public class DataSaverSummary extends SettingsPreferenceFragment @Override public void onAllSizesComputed() { updateUnrestrictedAccessSummary(); } @Override public void onLauncherInfoChanged() { updateUnrestrictedAccessSummary(); } @Override Loading @@ -192,6 +185,23 @@ public class DataSaverSummary extends SettingsPreferenceFragment } private void updateUnrestrictedAccessSummary() { if (!isAdded() || isFinishingOrDestroyed() || mSession == null) return; int count = 0; for (AppEntry entry : mSession.getAllApps()) { if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) { continue; } if (entry.extraInfo != null && ((AppStateDataUsageBridge.DataUsageState) entry.extraInfo).isDataSaverAllowlisted) { count++; } } mUnrestrictedAccess.setSummary(getResources().getQuantityString( R.plurals.data_saver_unrestricted_summary, count, count)); } public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider(R.xml.data_saver) { Loading Loading
src/com/android/settings/datausage/DataSaverSummary.java +36 −26 Original line number Diff line number Diff line Loading @@ -55,17 +55,21 @@ public class DataSaverSummary extends SettingsPreferenceFragment // Flag used to avoid infinite loop due if user switch it on/off too quicky. private boolean mSwitching; private Runnable mLoadAppRunnable = () -> { mApplicationsState = ApplicationsState.getInstance( (Application) getContext().getApplicationContext()); mDataUsageBridge = new AppStateDataUsageBridge(mApplicationsState, this, mDataSaverBackend); mSession = mApplicationsState.newSession(this, getSettingsLifecycle()); mDataUsageBridge.resume(true /* forceLoadAllApps */); }; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.data_saver); mUnrestrictedAccess = findPreference(KEY_UNRESTRICTED_ACCESS); mApplicationsState = ApplicationsState.getInstance( (Application) getContext().getApplicationContext()); mDataSaverBackend = new DataSaverBackend(getContext()); mDataUsageBridge = new AppStateDataUsageBridge(mApplicationsState, this, mDataSaverBackend); mSession = mApplicationsState.newSession(this, getSettingsLifecycle()); } @Override Loading @@ -83,15 +87,21 @@ public class DataSaverSummary extends SettingsPreferenceFragment mDataSaverBackend.refreshAllowlist(); mDataSaverBackend.refreshDenylist(); mDataSaverBackend.addListener(this); if (mDataUsageBridge != null) { mDataUsageBridge.resume(true /* forceLoadAllApps */); } else { getView().post(mLoadAppRunnable); } } @Override public void onPause() { super.onPause(); mDataSaverBackend.remListener(this); if (mDataUsageBridge != null) { mDataUsageBridge.pause(); } } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { Loading Loading @@ -132,24 +142,7 @@ public class DataSaverSummary extends SettingsPreferenceFragment @Override public void onExtraInfoUpdated() { if (!isAdded()) { return; } int count = 0; final ArrayList<AppEntry> allApps = mSession.getAllApps(); final int N = allApps.size(); for (int i = 0; i < N; i++) { final AppEntry entry = allApps.get(i); if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) { continue; } if (entry.extraInfo != null && ((AppStateDataUsageBridge.DataUsageState) entry.extraInfo).isDataSaverAllowlisted) { count++; } } mUnrestrictedAccess.setSummary(getResources().getQuantityString( R.plurals.data_saver_unrestricted_summary, count, count)); updateUnrestrictedAccessSummary(); } @Override Loading Loading @@ -179,12 +172,12 @@ public class DataSaverSummary extends SettingsPreferenceFragment @Override public void onAllSizesComputed() { updateUnrestrictedAccessSummary(); } @Override public void onLauncherInfoChanged() { updateUnrestrictedAccessSummary(); } @Override Loading @@ -192,6 +185,23 @@ public class DataSaverSummary extends SettingsPreferenceFragment } private void updateUnrestrictedAccessSummary() { if (!isAdded() || isFinishingOrDestroyed() || mSession == null) return; int count = 0; for (AppEntry entry : mSession.getAllApps()) { if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) { continue; } if (entry.extraInfo != null && ((AppStateDataUsageBridge.DataUsageState) entry.extraInfo).isDataSaverAllowlisted) { count++; } } mUnrestrictedAccess.setSummary(getResources().getQuantityString( R.plurals.data_saver_unrestricted_summary, count, count)); } public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider(R.xml.data_saver) { Loading