From c3b2165dfe54a44b012456541a72628f0408bdf8 Mon Sep 17 00:00:00 2001 From: Daniel Norman Date: Fri, 31 May 2024 20:54:55 +0000 Subject: [PATCH] Update A11ySettings to load preferences in onCreate(). This version still only loads preferences once, but the previous attempt commit 774bbc1ff29eec2f1eb8ce654917dcb651bbbd74 created a "sliding" effect as the preferences were loaded after the page became visible to the user. Also reorders methods so that their position in the source file matches the Activity lifecycle ordering. Bug: 327052480 Test: existing A11y Settings robotest presubmit Test: Launch this page from the Settings app, observe no sliding UI Flag: NONE low risk visual bug fix Change-Id: I44312ada359aef7dec8eb27c57cde2a8e00f254b --- .../accessibility/AccessibilitySettings.java | 19 +++++++++++++------ .../AccessibilitySettingsTest.java | 1 + 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java index 4e77243b09d..b5df0e22c80 100644 --- a/src/com/android/settings/accessibility/AccessibilitySettings.java +++ b/src/com/android/settings/accessibility/AccessibilitySettings.java @@ -210,24 +210,31 @@ public class AccessibilitySettings extends DashboardFragment implements public void onCreate(Bundle icicle) { super.onCreate(icicle); initializeAllPreferences(); + updateAllPreferences(); + mNeedPreferencesUpdate = false; registerContentMonitors(); registerInputDeviceListener(); } @Override - public void onResume() { - super.onResume(); - updateAllPreferences(); + public void onStart() { + super.onStart(); + mIsForeground = true; } @Override - public void onStart() { + public void onResume() { + super.onResume(); if (mNeedPreferencesUpdate) { updateAllPreferences(); mNeedPreferencesUpdate = false; } - mIsForeground = true; - super.onStart(); + } + + @Override + public void onPause() { + super.onPause(); + mNeedPreferencesUpdate = true; } @Override diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java index 21ff6c7266b..1463cd0b7f9 100644 --- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java @@ -385,6 +385,7 @@ public class AccessibilitySettingsTest { mFragment.onContentChanged(); mFragment.onStart(); + mFragment.onResume(); RestrictedPreference preference = mFragment.getPreferenceScreen().findPreference( COMPONENT_NAME.flattenToString());