diff --git a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java index 491ddba8959dc..2b4e09d668517 100644 --- a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java +++ b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java @@ -80,6 +80,8 @@ public class AccessibilityShortcutController { "com.android.server.accessibility.MagnificationController"; public static final ComponentName MAGNIFICATION_COMPONENT_NAME = new ComponentName("com.android.server.accessibility", "Magnification"); + public static final ComponentName REDUCE_BRIGHT_COLORS_COMPONENT_NAME = + new ComponentName("com.android.server.accessibility", "ReduceBrightColors"); private static final AudioAttributes VIBRATION_ATTRIBUTES = new AudioAttributes.Builder() .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) @@ -126,6 +128,11 @@ public class AccessibilityShortcutController { Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, "1" /* Value to enable */, "0" /* Value to disable */, R.string.color_correction_feature_name)); + featuresMap.put(REDUCE_BRIGHT_COLORS_COMPONENT_NAME, + new ToggleableFrameworkFeatureInfo( + Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, + "1" /* Value to enable */, "0" /* Value to disable */, + R.string.reduce_bright_colors_feature_name)); sFrameworkShortcutFeaturesMap = Collections.unmodifiableMap(featuresMap); } return sFrameworkShortcutFeaturesMap; diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java index a7c5f6d5e03fd..2632e4b61d843 100644 --- a/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java +++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java @@ -21,6 +21,7 @@ import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTT import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME; import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME; +import static com.android.internal.accessibility.AccessibilityShortcutController.REDUCE_BRIGHT_COLORS_COMPONENT_NAME; import static com.android.internal.accessibility.util.AccessibilityUtils.getAccessibilityServiceFragmentType; import static com.android.internal.accessibility.util.ShortcutUtils.isShortcutContained; @@ -229,9 +230,21 @@ public final class AccessibilityTargetHelper { context.getDrawable(R.drawable.ic_accessibility_color_inversion), Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED); + // TODO: Update with shortcut icon + final ToggleWhiteListingFeatureTarget reduceBrightColors = + new ToggleWhiteListingFeatureTarget(context, + shortcutType, + isShortcutContained(context, shortcutType, + REDUCE_BRIGHT_COLORS_COMPONENT_NAME.flattenToString()), + REDUCE_BRIGHT_COLORS_COMPONENT_NAME.flattenToString(), + context.getString(R.string.reduce_bright_colors_feature_name), + null, + Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED); + targets.add(magnification); targets.add(daltonizer); targets.add(colorInversion); + targets.add(reduceBrightColors); return targets; } diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index fc489b1bbe9b4..645bae728c02d 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -4494,6 +4494,9 @@ shown in the warning dialog about the accessibility shortcut. --> Color Correction + + Reduce Bright Colors + Held volume keys. %1$s turned on. diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 1249b17501c86..9b52f54693a24 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -3249,6 +3249,7 @@ +