Show color modes from config_availableColorModes
Check config_availableColorModes to decide which color mode options to show. Bug: 73824924 Bug: 73825738 Test: 2016, 2017, and 2018 devices Change-Id: I42915595348061ff4b3f2fdf14753e96dfcb2052
This commit is contained in:
@@ -49,6 +49,9 @@ public class ColorModePreferenceController extends BasePreferenceController {
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
final int colorMode = getColorDisplayController().getColorMode();
|
||||
if (colorMode == ColorDisplayController.COLOR_MODE_AUTOMATIC) {
|
||||
return mContext.getText(R.string.color_mode_option_automatic);
|
||||
}
|
||||
if (colorMode == ColorDisplayController.COLOR_MODE_SATURATED) {
|
||||
return mContext.getText(R.string.color_mode_option_saturated);
|
||||
}
|
||||
|
@@ -26,7 +26,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.widget.RadioButtonPickerFragment;
|
||||
import com.android.settingslib.widget.CandidateInfo;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("WeakerAccess")
|
||||
@@ -39,6 +39,8 @@ public class ColorModePreferenceFragment extends RadioButtonPickerFragment
|
||||
static final String KEY_COLOR_MODE_BOOSTED = "color_mode_boosted";
|
||||
@VisibleForTesting
|
||||
static final String KEY_COLOR_MODE_SATURATED = "color_mode_saturated";
|
||||
@VisibleForTesting
|
||||
static final String KEY_COLOR_MODE_AUTOMATIC = "color_mode_automatic";
|
||||
|
||||
private ColorDisplayController mController;
|
||||
|
||||
@@ -78,21 +80,41 @@ public class ColorModePreferenceFragment extends RadioButtonPickerFragment
|
||||
|
||||
@Override
|
||||
protected List<? extends CandidateInfo> getCandidates() {
|
||||
Context c = getContext();
|
||||
return Arrays.asList(
|
||||
new ColorModeCandidateInfo(c.getText(R.string.color_mode_option_natural),
|
||||
KEY_COLOR_MODE_NATURAL, true /* enabled */),
|
||||
new ColorModeCandidateInfo(c.getText(R.string.color_mode_option_boosted),
|
||||
KEY_COLOR_MODE_BOOSTED, true /* enabled */),
|
||||
new ColorModeCandidateInfo(c.getText(R.string.color_mode_option_saturated),
|
||||
KEY_COLOR_MODE_SATURATED, true /* enabled */)
|
||||
);
|
||||
final Context c = getContext();
|
||||
final int[] availableColorModes = c.getResources().getIntArray(
|
||||
com.android.internal.R.array.config_availableColorModes);
|
||||
|
||||
List<ColorModeCandidateInfo> candidates = new ArrayList<ColorModeCandidateInfo>();
|
||||
if (availableColorModes != null) {
|
||||
for (int colorMode : availableColorModes) {
|
||||
if (colorMode == ColorDisplayController.COLOR_MODE_NATURAL) {
|
||||
candidates.add(new ColorModeCandidateInfo(
|
||||
c.getText(R.string.color_mode_option_natural),
|
||||
KEY_COLOR_MODE_NATURAL, true /* enabled */));
|
||||
} else if (colorMode == ColorDisplayController.COLOR_MODE_BOOSTED) {
|
||||
candidates.add(new ColorModeCandidateInfo(
|
||||
c.getText(R.string.color_mode_option_boosted),
|
||||
KEY_COLOR_MODE_BOOSTED, true /* enabled */));
|
||||
} else if (colorMode == ColorDisplayController.COLOR_MODE_SATURATED) {
|
||||
candidates.add(new ColorModeCandidateInfo(
|
||||
c.getText(R.string.color_mode_option_saturated),
|
||||
KEY_COLOR_MODE_SATURATED, true /* enabled */));
|
||||
} else if (colorMode == ColorDisplayController.COLOR_MODE_AUTOMATIC) {
|
||||
candidates.add(new ColorModeCandidateInfo(
|
||||
c.getText(R.string.color_mode_option_automatic),
|
||||
KEY_COLOR_MODE_AUTOMATIC, true /* enabled */));
|
||||
}
|
||||
}
|
||||
}
|
||||
return candidates;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultKey() {
|
||||
final int colorMode = mController.getColorMode();
|
||||
if (colorMode == ColorDisplayController.COLOR_MODE_SATURATED) {
|
||||
if (colorMode == ColorDisplayController.COLOR_MODE_AUTOMATIC) {
|
||||
return KEY_COLOR_MODE_AUTOMATIC;
|
||||
} else if (colorMode == ColorDisplayController.COLOR_MODE_SATURATED) {
|
||||
return KEY_COLOR_MODE_SATURATED;
|
||||
} else if (colorMode == ColorDisplayController.COLOR_MODE_BOOSTED) {
|
||||
return KEY_COLOR_MODE_BOOSTED;
|
||||
@@ -112,6 +134,9 @@ public class ColorModePreferenceFragment extends RadioButtonPickerFragment
|
||||
case KEY_COLOR_MODE_SATURATED:
|
||||
mController.setColorMode(ColorDisplayController.COLOR_MODE_SATURATED);
|
||||
break;
|
||||
case KEY_COLOR_MODE_AUTOMATIC:
|
||||
mController.setColorMode(ColorDisplayController.COLOR_MODE_AUTOMATIC);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user