Color correction improvement (3/n)

1. Add summary in accessibility settings page by controller
2. Fix "XmlControllerAttributeTest" for ColorCorrection

Bug: 145968068
Bug: 146319816
Test: make RunSettingsRoboTests2
Change-Id: Ia4dfb2290953eea33c266bd9f7c825c956bcc93a
This commit is contained in:
menghanli
2019-12-16 21:49:53 +08:00
parent 458d5e81cc
commit 657189062f
6 changed files with 358 additions and 211 deletions

View File

@@ -36,13 +36,29 @@ import java.util.List;
@SearchIndexable
public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceFragment
implements DaltonizerPreferenceController.OnChangeListener,
implements DaltonizerRadioButtonPreferenceController.OnChangeListener,
SwitchBar.OnSwitchChangeListener {
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.accessibility_daltonizer_settings);
private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED;
private static final List<AbstractPreferenceController> sControllers = new ArrayList<>();
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
if (sControllers.size() == 0) {
final Resources resources = context.getResources();
final String[] daltonizerKeys = resources.getStringArray(
R.array.daltonizer_mode_keys);
for (int i = 0; i < daltonizerKeys.length; i++) {
sControllers.add(new DaltonizerRadioButtonPreferenceController(
context, lifecycle, daltonizerKeys[i]));
}
}
return sControllers;
}
@Override
public void onCheckedChanged(Preference preference) {
for (AbstractPreferenceController controller : sControllers) {
@@ -55,8 +71,9 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe
super.onResume();
for (AbstractPreferenceController controller :
buildPreferenceControllers(getPrefContext(), getSettingsLifecycle())) {
((DaltonizerPreferenceController) controller).setOnChangeListener(this);
((DaltonizerPreferenceController) controller).displayPreference(getPreferenceScreen());
((DaltonizerRadioButtonPreferenceController) controller).setOnChangeListener(this);
((DaltonizerRadioButtonPreferenceController) controller).displayPreference(
getPreferenceScreen());
}
}
@@ -65,7 +82,7 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe
super.onPause();
for (AbstractPreferenceController controller :
buildPreferenceControllers(getPrefContext(), getSettingsLifecycle())) {
((DaltonizerPreferenceController) controller).setOnChangeListener(null);
((DaltonizerRadioButtonPreferenceController) controller).setOnChangeListener(null);
}
}
@@ -79,7 +96,6 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe
return R.string.help_url_color_correction;
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.accessibility_daltonizer_settings;
@@ -115,22 +131,4 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe
Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
mSwitchBar.addOnSwitchChangeListener(this);
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
if (sControllers.size() == 0) {
final Resources resources = context.getResources();
final String[] daltonizerKeys = resources.getStringArray(
R.array.daltonizer_mode_keys);
for (int i = 0; i < daltonizerKeys.length; i++) {
sControllers.add(new DaltonizerPreferenceController(
context, lifecycle, daltonizerKeys[i]));
}
}
return sControllers;
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.accessibility_daltonizer_settings);
}