summaryrefslogtreecommitdiffstats
path: root/services/accessibility/java/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'services/accessibility/java/com/android')
-rw-r--r--services/accessibility/java/com/android/server/accessibility/DisplayAdjustmentUtils.java24
1 files changed, 23 insertions, 1 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/DisplayAdjustmentUtils.java b/services/accessibility/java/com/android/server/accessibility/DisplayAdjustmentUtils.java
index d0b5898..ab8eacf 100644
--- a/services/accessibility/java/com/android/server/accessibility/DisplayAdjustmentUtils.java
+++ b/services/accessibility/java/com/android/server/accessibility/DisplayAdjustmentUtils.java
@@ -30,7 +30,7 @@ import android.view.accessibility.AccessibilityManager;
/**
* Utility methods for performing accessibility display adjustments.
*/
-class DisplayAdjustmentUtils {
+public class DisplayAdjustmentUtils {
private static final String LOG_TAG = DisplayAdjustmentUtils.class.getSimpleName();
/** Matrix and offset used for converting color to gray-scale. */
@@ -76,6 +76,11 @@ class DisplayAdjustmentUtils {
return true;
}
+ if (Settings.Secure.getStringForUser(cr,
+ Settings.Secure.LIVE_DISPLAY_COLOR_MATRIX, userId) != null) {
+ return true;
+ }
+
return false;
}
@@ -91,6 +96,23 @@ class DisplayAdjustmentUtils {
colorMatrix = multiply(colorMatrix, INVERSION_MATRIX_VALUE_ONLY);
}
+ String adj = Settings.Secure.getStringForUser(cr,
+ Settings.Secure.LIVE_DISPLAY_COLOR_MATRIX, userId);
+ if (adj != null) {
+ String[] tmp = adj.split(" ");
+ if (tmp.length == 16) {
+ float[] adjMatrix = new float[16];
+ try {
+ for (int i = 0; i < 16; i++) {
+ adjMatrix[i] = Float.parseFloat(tmp[i]);
+ }
+ colorMatrix = multiply(colorMatrix, adjMatrix);
+ } catch (NumberFormatException e) {
+ Slog.e(LOG_TAG, e.getMessage(), e);
+ }
+ }
+ }
+
if (Settings.Secure.getIntForUser(cr,
Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, 0, userId) != 0) {
final int daltonizerMode = Settings.Secure.getIntForUser(cr,