Remove summary provider
- use SummaryProvider to provide the summary of UserSettings
- use WifiDisplayPreferenceController to replace the summary loader
in WifiDisplaySettings
- use ConfigureNotificationPreferernceController to replace the
sumary load in ConfigureNotificationSettings
Fixes: 141653158
Test: robolectric
Change-Id: Id5f5ed645707caa0b25ecae5252174cbf017651c
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 0e6476c..01a2b14 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -37,12 +37,12 @@
import com.android.settings.core.PreferenceControllerListHelper;
import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.search.Indexable;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile;
+import com.android.settingslib.search.Indexable;
import java.util.ArrayList;
import java.util.Arrays;
@@ -56,7 +56,7 @@
*/
public abstract class DashboardFragment extends SettingsPreferenceFragment
implements SettingsBaseActivity.CategoryListener, Indexable,
- SummaryLoader.SummaryConsumer, PreferenceGroup.OnExpandButtonClickListener,
+ PreferenceGroup.OnExpandButtonClickListener,
BasePreferenceController.UiBlockListener {
private static final String TAG = "DashboardFragment";
@@ -68,7 +68,6 @@
private DashboardFeatureProvider mDashboardFeatureProvider;
private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController;
private boolean mListeningToCategoryChange;
- private SummaryLoader mSummaryLoader;
private List<String> mSuppressInjectedTileKeys;
@VisibleForTesting
UiBlockerController mBlockerController;
@@ -128,7 +127,7 @@
if (!keys.isEmpty()) {
mBlockerController = new UiBlockerController(keys);
- mBlockerController.start(()->updatePreferenceVisibility(mPreferenceControllers));
+ mBlockerController.start(() -> updatePreferenceVisibility(mPreferenceControllers));
}
}
@@ -169,10 +168,6 @@
if (category == null) {
return;
}
- if (mSummaryLoader != null) {
- // SummaryLoader can be null when there is no dynamic tiles.
- mSummaryLoader.setListening(true);
- }
final Activity activity = getActivity();
if (activity instanceof SettingsBaseActivity) {
mListeningToCategoryChange = true;
@@ -181,19 +176,6 @@
}
@Override
- public void notifySummaryChanged(Tile tile) {
- final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile);
- final Preference pref = getPreferenceScreen().findPreference(key);
- if (pref == null) {
- Log.d(getLogTag(), String.format(
- "Can't find pref by key %s, skipping update summary %s",
- key, tile.getDescription()));
- return;
- }
- pref.setSummary(tile.getSummary(pref.getContext()));
- }
-
- @Override
public void onResume() {
super.onResume();
updatePreferenceStates();
@@ -220,10 +202,6 @@
@Override
public void onStop() {
super.onStop();
- if (mSummaryLoader != null) {
- // SummaryLoader can be null when there is no dynamic tiles.
- mSummaryLoader.setListening(false);
- }
if (mListeningToCategoryChange) {
final Activity activity = getActivity();
if (activity instanceof SettingsBaseActivity) {
@@ -413,13 +391,6 @@
// Create a list to track which tiles are to be removed.
final List<String> remove = new ArrayList<>(mDashboardTilePrefKeys);
- // There are dashboard tiles, so we need to install SummaryLoader.
- if (mSummaryLoader != null) {
- mSummaryLoader.release();
- }
- final Context context = getContext();
- mSummaryLoader = new SummaryLoader(getActivity(), getCategoryKey());
- mSummaryLoader.setSummaryConsumer(this);
// Install dashboard tiles.
final boolean forceRoundedIcons = shouldForceRoundedIcon();
for (Tile tile : tiles) {
@@ -456,7 +427,6 @@
screen.removePreference(preference);
}
}
- mSummaryLoader.setListening(true);
}
@Override