Fix the summary of Magnification didn’t be updated after the content change.

Solution:
1) Update the preference state when the settings content change.

Bug: 246869845
Test: manual test
Change-Id: Ib776100e6940d09f5549c3edc2c5f5c6963c6d0e
This commit is contained in:
Peter Liang
2022-12-08 19:17:51 +08:00
committed by PETER LIANG
parent 513827c5d5
commit 08e6061ade

View File

@@ -43,6 +43,7 @@ import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.RestrictedPreference; import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw; import com.android.settingslib.search.SearchIndexableRaw;
@@ -303,6 +304,7 @@ public class AccessibilitySettings extends DashboardFragment {
void updateAllPreferences() { void updateAllPreferences() {
updateSystemPreferences(); updateSystemPreferences();
updateServicePreferences(); updateServicePreferences();
updatePreferencesState();
} }
private void registerContentMonitors() { private void registerContentMonitors() {
@@ -478,6 +480,13 @@ public class AccessibilitySettings extends DashboardFragment {
// Do nothing. // Do nothing.
} }
private void updatePreferencesState() {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
getPreferenceControllers().forEach(controllers::addAll);
controllers.forEach(controller -> controller.updateState(
findPreference(controller.getPreferenceKey())));
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.accessibility_settings) { new BaseSearchIndexProvider(R.xml.accessibility_settings) {
@Override @Override