From e69bf4e26a3df54a545a59b69852c51571e65520 Mon Sep 17 00:00:00 2001 From: Mihai Adrian Carare <48995920+mcarare@users.noreply.github.com> Date: Mon, 31 May 2021 16:50:23 +0300 Subject: [PATCH] For #19564: Explicitly update switch state for a11y event announcements. (#19589) --- .../main/java/org/mozilla/fenix/settings/SyncPreference.kt | 7 +++++++ .../java/org/mozilla/fenix/settings/SyncPreferenceView.kt | 1 + .../fenix/settings/logins/SyncPreferenceViewTest.kt | 2 ++ 3 files changed, 10 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/settings/SyncPreference.kt b/app/src/main/java/org/mozilla/fenix/settings/SyncPreference.kt index 376829002..411936074 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SyncPreference.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SyncPreference.kt @@ -32,6 +32,13 @@ class SyncPreference @JvmOverloads constructor( widgetLayoutResource = R.layout.preference_sync } + /** + * Updates the switch state. + * */ + internal fun setSwitchCheckedState(isChecked: Boolean) { + switchView?.isChecked = isChecked + } + override fun onBindViewHolder(holder: PreferenceViewHolder) { super.onBindViewHolder(holder) diff --git a/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt b/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt index b6e95d75c..e117a1a11 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt @@ -83,6 +83,7 @@ class SyncPreferenceView( setOnPreferenceChangeListener { _, newValue -> SyncEnginesStorage(context).setStatus(syncEngine, newValue as Boolean) + setSwitchCheckedState(newValue) true } } diff --git a/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt b/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt index 6e82593ce..643d29890 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt @@ -137,6 +137,7 @@ class SyncPreferenceViewTest { SyncEngine.Passwords to true ) every { anyConstructed().setStatus(any(), any()) } just Runs + every { syncPreference.setSwitchCheckedState(any()) } just Runs createView() @@ -155,6 +156,7 @@ class SyncPreferenceViewTest { SyncEngine.Passwords to false ) every { anyConstructed().setStatus(any(), any()) } just Runs + every { syncPreference.setSwitchCheckedState(any()) } just Runs createView()