fix(brightness suw): Hide brightness preference in the suw.

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
This commit is contained in:
Menghan Li
2025-01-20 13:48:36 +00:00
parent 48a229cb88
commit 47550d4c8a
4 changed files with 35 additions and 8 deletions

View File

@@ -49,12 +49,11 @@ public class AutoBrightnessPreferenceControllerForSetupWizard
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
Preference preference = screen.findPreference(getPreferenceKey());
final Preference preference = screen.findPreference(getPreferenceKey());
if (preference instanceof RestrictedPreferenceHelperProvider helperProvider) {
mRestrictedPreferenceHelper = helperProvider.getRestrictedPreferenceHelper();
preference.setVisible(!isRestricted());
}
super.displayPreference(screen);
}
@Override
@@ -70,4 +69,4 @@ public class AutoBrightnessPreferenceControllerForSetupWizard
public CharSequence getSummary() {
return "";
}
}
}

View File

@@ -52,12 +52,11 @@ public class BrightnessLevelPreferenceControllerForSetupWizard extends
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
Preference preference = screen.findPreference(getPreferenceKey());
final Preference preference = screen.findPreference(getPreferenceKey());
if (preference instanceof RestrictedPreferenceHelperProvider helperProvider) {
mRestrictedPreferenceHelper = helperProvider.getRestrictedPreferenceHelper();
preference.setVisible(!isRestricted());
}
super.displayPreference(screen);
}
@Override
@@ -68,4 +67,4 @@ public class BrightnessLevelPreferenceControllerForSetupWizard extends
}
return super.getAvailabilityStatus();
}
}
}