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