From 78400244af6cce0aa5dd8a0dca49b9164432a1a4 Mon Sep 17 00:00:00 2001 From: jasonwshsu Date: Sat, 15 Feb 2020 11:03:02 +0800 Subject: [PATCH] Fix the animated image can not be displayed. * Need to process arguments earlier. Bug: 142528112 Test: Manual test Change-Id: I63e116e47ccdb6409969f629b41b8c3622adb9dc --- .../ToggleFeaturePreferenceFragment.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java index 70f6dcd8ea1..28e70940356 100644 --- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java @@ -138,6 +138,9 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference final SwitchBar switchBar = activity.getSwitchBar(); switchBar.hide(); + // Need to be called as early as possible. Protected variables will be assigned here. + onProcessArguments(getArguments()); + PreferenceScreen preferenceScreen = getPreferenceScreen(); if (mImageUri != null) { final AnimatedImagePreference animatedImagePreference = new AnimatedImagePreference( @@ -149,9 +152,13 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference mToggleServiceDividerSwitchPreference = new DividerSwitchPreference(getPrefContext()); mToggleServiceDividerSwitchPreference.setKey(KEY_USE_SERVICE_PREFERENCE); + if (getArguments().containsKey(AccessibilitySettings.EXTRA_CHECKED)) { + final boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED); + mToggleServiceDividerSwitchPreference.setChecked(enabled); + } + preferenceScreen.addPreference(mToggleServiceDividerSwitchPreference); - onProcessArguments(getArguments()); updateToggleServiceTitle(mToggleServiceDividerSwitchPreference); final PreferenceCategory groupCategory = new PreferenceCategory(getPrefContext()); @@ -339,12 +346,6 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference // Key. mPreferenceKey = arguments.getString(AccessibilitySettings.EXTRA_PREFERENCE_KEY); - // Enabled. - if (arguments.containsKey(AccessibilitySettings.EXTRA_CHECKED)) { - final boolean enabled = arguments.getBoolean(AccessibilitySettings.EXTRA_CHECKED); - mToggleServiceDividerSwitchPreference.setChecked(enabled); - } - // Title. if (arguments.containsKey(AccessibilitySettings.EXTRA_RESOLVE_INFO)) { ResolveInfo info = arguments.getParcelable(AccessibilitySettings.EXTRA_RESOLVE_INFO);