aboutsummaryrefslogtreecommitdiffstats
path: root/sdk
diff options
context:
space:
mode:
authorRashed Abdel-Tawab <rashed@linux.com>2018-05-14 13:56:33 -0700
committerJoey Rizzoli <joey@lineageos.org>2018-05-24 21:39:00 +0200
commit18fd692bbdf3aba82a2af2515a4eb5acb3ee4302 (patch)
tree9678691e0296c6f0be657bb763d6df7db8c005c6 /sdk
parentff242a26c1e714fd5a270e6ef12097ee9b9d92a0 (diff)
downloadlineage-sdk-18fd692bbdf3aba82a2af2515a4eb5acb3ee4302.tar.gz
lineage-sdk-18fd692bbdf3aba82a2af2515a4eb5acb3ee4302.tar.bz2
lineage-sdk-18fd692bbdf3aba82a2af2515a4eb5acb3ee4302.zip
lineage-sdk: Add backend for reading enhancement
Change-Id: Ibd1c9e057ddf8e9d21657aef0ebeeaa9a253e92d
Diffstat (limited to 'sdk')
-rw-r--r--sdk/src/java/lineageos/hardware/ILineageHardwareService.aidl6
-rw-r--r--sdk/src/java/lineageos/hardware/LineageHardwareManager.java23
-rw-r--r--sdk/src/java/lineageos/hardware/LiveDisplayManager.java6
-rw-r--r--sdk/src/java/lineageos/providers/LineageSettings.java12
-rw-r--r--sdk/src/java/org/lineageos/internal/logging/LineageMetricsLogger.java4
5 files changed, 47 insertions, 4 deletions
diff --git a/sdk/src/java/lineageos/hardware/ILineageHardwareService.aidl b/sdk/src/java/lineageos/hardware/ILineageHardwareService.aidl
index cca87244..aaa1ce50 100644
--- a/sdk/src/java/lineageos/hardware/ILineageHardwareService.aidl
+++ b/sdk/src/java/lineageos/hardware/ILineageHardwareService.aidl
@@ -1,6 +1,6 @@
/**
- * Copyright (c) 2015, The CyanogenMod Project
- * 2017 The LineageOS Project
+ * Copyright (c) 2015-2016 The CyanogenMod Project
+ * 2017-2018 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -65,4 +65,6 @@ interface ILineageHardwareService {
TouchscreenGesture[] getTouchscreenGestures();
boolean setTouchscreenGestureEnabled(in TouchscreenGesture gesture, boolean state);
+
+ boolean setGrayscale(boolean state);
}
diff --git a/sdk/src/java/lineageos/hardware/LineageHardwareManager.java b/sdk/src/java/lineageos/hardware/LineageHardwareManager.java
index ae0ece65..c58b1c90 100644
--- a/sdk/src/java/lineageos/hardware/LineageHardwareManager.java
+++ b/sdk/src/java/lineageos/hardware/LineageHardwareManager.java
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2015-2016 The CyanogenMod Project
- * 2017 The LineageOS Project
+ * 2017-2018 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -135,6 +135,12 @@ public final class LineageHardwareManager {
public static final int FEATURE_DISPLAY_MODES = 0x2000;
/**
+ * Reading mode
+ */
+ @VisibleForTesting
+ public static final int FEATURE_READING_ENHANCEMENT = 0x4000;
+
+ /**
* Color balance
*/
@VisibleForTesting
@@ -868,4 +874,19 @@ public final class LineageHardwareManager {
}
return false;
}
+
+ /**
+ * Enables or disables reading mode
+ *
+ * @return true if success
+ */
+ public boolean setGrayscale(boolean state) {
+ try {
+ if (checkService()) {
+ return sService.setGrayscale(state);
+ }
+ } catch (RemoteException e) {
+ }
+ return false;
+ }
}
diff --git a/sdk/src/java/lineageos/hardware/LiveDisplayManager.java b/sdk/src/java/lineageos/hardware/LiveDisplayManager.java
index 28238494..17e142ef 100644
--- a/sdk/src/java/lineageos/hardware/LiveDisplayManager.java
+++ b/sdk/src/java/lineageos/hardware/LiveDisplayManager.java
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2016 The CyanogenMod Project
+ * 2018 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -120,6 +121,11 @@ public class LiveDisplayManager {
*/
public static final int FEATURE_PICTURE_ADJUSTMENT = 17;
+ /**
+ * System supports grayscale matrix overlay
+ */
+ public static final int FEATURE_READING_ENHANCEMENT = 18;
+
public static final int ADJUSTMENT_HUE = 0;
public static final int ADJUSTMENT_SATURATION = 1;
public static final int ADJUSTMENT_INTENSITY = 2;
diff --git a/sdk/src/java/lineageos/providers/LineageSettings.java b/sdk/src/java/lineageos/providers/LineageSettings.java
index 7a5feabe..ac48c996 100644
--- a/sdk/src/java/lineageos/providers/LineageSettings.java
+++ b/sdk/src/java/lineageos/providers/LineageSettings.java
@@ -1450,6 +1450,16 @@ public final class LineageSettings {
sBooleanValidator;
/**
+ * Reader mode
+ * 0 = 0ff, 1 = on
+ */
+ public static final String DISPLAY_READING_MODE = "display_reading_mode";
+
+ /** @hide */
+ public static final Validator DISPLAY_READING_MODE_VALIDATOR =
+ sBooleanValidator;
+
+ /**
* Use display power saving features such as CABC or CABL
* 0 = 0ff, 1 = on
*/
@@ -2058,6 +2068,7 @@ public final class LineageSettings {
LineageSettings.System.DISPLAY_TEMPERATURE_NIGHT,
LineageSettings.System.DISPLAY_TEMPERATURE_MODE,
LineageSettings.System.DISPLAY_AUTO_OUTDOOR_MODE,
+ LineageSettings.System.DISPLAY_READING_MODE,
LineageSettings.System.DISPLAY_CABC,
LineageSettings.System.DISPLAY_COLOR_ENHANCE,
LineageSettings.System.DISPLAY_COLOR_ADJUSTMENT,
@@ -2216,6 +2227,7 @@ public final class LineageSettings {
VALIDATORS.put(DISPLAY_TEMPERATURE_MODE, DISPLAY_TEMPERATURE_MODE_VALIDATOR);
VALIDATORS.put(DISPLAY_AUTO_CONTRAST, DISPLAY_AUTO_CONTRAST_VALIDATOR);
VALIDATORS.put(DISPLAY_AUTO_OUTDOOR_MODE, DISPLAY_AUTO_OUTDOOR_MODE_VALIDATOR);
+ VALIDATORS.put(DISPLAY_READING_MODE, DISPLAY_READING_MODE_VALIDATOR);
VALIDATORS.put(DISPLAY_CABC, DISPLAY_CABC_VALIDATOR);
VALIDATORS.put(DISPLAY_COLOR_ENHANCE, DISPLAY_COLOR_ENHANCE_VALIDATOR);
VALIDATORS.put(DISPLAY_COLOR_ADJUSTMENT, DISPLAY_COLOR_ADJUSTMENT_VALIDATOR);
diff --git a/sdk/src/java/org/lineageos/internal/logging/LineageMetricsLogger.java b/sdk/src/java/org/lineageos/internal/logging/LineageMetricsLogger.java
index e75a5e43..5b7d7009 100644
--- a/sdk/src/java/org/lineageos/internal/logging/LineageMetricsLogger.java
+++ b/sdk/src/java/org/lineageos/internal/logging/LineageMetricsLogger.java
@@ -1,5 +1,6 @@
/**
- * Copyright (c) 2016, The CyanogenMod Project
+ * Copyright (c) 2016 The CyanogenMod Project
+ * 2018 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -69,4 +70,5 @@ public class LineageMetricsLogger extends MetricsLogger {
public static final int WEATHER_SETTINGS = BASE + 42;
public static final int TILE_THEMES = BASE + 43;
public static final int TILE_LOCATION_DETAIL = BASE + 44;
+ public static final int TILE_READING_MODE = BASE + 45;
}