Root cause: there's a mismatch in how visibility is determined for
the AutoBrightnessPreferenceControllerForSetupWizard. The
getAvailabilityStatus method and the displayPreference method
(specifically the preference.setVisible call) use different
conditions for showing the preference.
Solution: To ensure consistency, I propose aligning these conditions
by incorporating an aconfig flag check in both places. This will
prevent unexpected behavior and make the logic clearer.
Bug: 389011125
Flag: com.android.settings.accessibility.add_brightness_settings_in_suw
Test: atest AutoBrightnessPreferenceControllerForSetupWizardTest
BrightnessLevelPreferenceControllerForSetupWizardTest
Change-Id: I004bfe8b1e039734356715c971f0bfbe56ffa9db
By default if a RestrictedPreference is restricted then the preference
becomes disabled but still visible. But for brightness preferences in
A11y SUW we'd like to hide them if they're restricted and disabled,
since it's meaningless to show disabled items in SUW.
To achieve this, in PreferenceController#displayPreference we check the
whether the preference is RestrictedPreference and restricted, so we can
decide whether to hide it. Besides, if the preference is restricted and
we hide it, in PreferenceController#getAvailableStatis we also return
CONDITIONALLY_UNAVAILABLE to make consistency.
Bug: 384620216
Flag: com.android.settings.accessibility.add_brightness_settings_in_suw
Test: manually
atest AutoBrightnessPreferenceControllerForSetupWizardTest
atest BrightnessLevelPreferenceControllerForSetupWizardTest
Change-Id: Ifb68b4d64fc111d91a23457882a006002173d232
The AccessibilitySettingsForSetupWizard class should not be responsible for managing the initial
logic of controllers, such as determining which controllers need to be dynamically added or updated
using setInSetupWizard APIs. This logic should be handled directly by the controllers themselves.
Bug: 311093618
Flag: EXEMPT bugfix
Test: atest AccessibilitySettingsForSetupWizardTest
AutoBrightnessPreferenceControllerForSetupWizardTest
AutoBrightnessPreferenceControllerTest
BrightnessLevelPreferenceControllerForSetupWizardTest
BrightnessLevelPreferenceControllerTest
Change-Id: I6065a10e72d002981c0f514543e6933d79c2aa1b