From 08e6061ade18e28d64d4700dc61ae2c0410a286b Mon Sep 17 00:00:00 2001 From: Peter Liang Date: Thu, 8 Dec 2022 19:17:51 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20the=20summary=20of=20Magnification=20didn?= =?UTF-8?q?=E2=80=99t=20be=20updated=20after=20the=20content=20change.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Solution: 1) Update the preference state when the settings content change. Bug: 246869845 Test: manual test Change-Id: Ib776100e6940d09f5549c3edc2c5f5c6963c6d0e --- .../settings/accessibility/AccessibilitySettings.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java index 23f8fd338a1..7b1500b4238 100644 --- a/src/com/android/settings/accessibility/AccessibilitySettings.java +++ b/src/com/android/settings/accessibility/AccessibilitySettings.java @@ -43,6 +43,7 @@ import com.android.settings.dashboard.DashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.RestrictedPreference; +import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexableRaw; @@ -303,6 +304,7 @@ public class AccessibilitySettings extends DashboardFragment { void updateAllPreferences() { updateSystemPreferences(); updateServicePreferences(); + updatePreferencesState(); } private void registerContentMonitors() { @@ -478,6 +480,13 @@ public class AccessibilitySettings extends DashboardFragment { // Do nothing. } + private void updatePreferencesState() { + final List controllers = new ArrayList<>(); + getPreferenceControllers().forEach(controllers::addAll); + controllers.forEach(controller -> controller.updateState( + findPreference(controller.getPreferenceKey()))); + } + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider(R.xml.accessibility_settings) { @Override