From 4a56058afbf6973819a8690cb0a77d1f98d2f5bc Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Fri, 10 Aug 2018 11:37:53 +0200 Subject: [PATCH] msm8976-common: lineagehw: Update ReadingEnhancement for new API Change-Id: I8afaa7dfebfe765ef3d670f544344b7dea732ac2 --- .../lineage/hardware/ReadingEnhancement.java | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/lineagehw/org/lineage/hardware/ReadingEnhancement.java b/lineagehw/org/lineage/hardware/ReadingEnhancement.java index d718637..76af6e2 100644 --- a/lineagehw/org/lineage/hardware/ReadingEnhancement.java +++ b/lineagehw/org/lineage/hardware/ReadingEnhancement.java @@ -27,12 +27,36 @@ public class ReadingEnhancement { private static final String ACCESSIBILITY_FILE = "/sys/devices/virtual/mdnie/mdnie/accessibility"; + /** + * Whether device supports Reader Mode + * + * @return boolean Supported devices must return always true + */ public static boolean isSupported() { - return FileUtils.isFileWritable(ACCESSIBILITY_FILE); + return FileUtils.isFileWritable(ACCESSIBILITY_FILE) && + FileUtils.isFileReadable(ACCESSIBILITY_FILE); } - public static boolean setGrayscale(boolean state) { - return FileUtils.writeLine(ACCESSIBILITY_FILE, state ? "4" : "0"); + /** + * This method return the current activation status of Reader Mode + * + * @return boolean Must be false when Reader Mode is not supported or not activated, + * or the operation failed while reading the status; true in any other case. + */ + public static boolean isEnabled() { + return FileUtils.readOneLine(ACCESSIBILITY_FILE).equals( + "Current accessibility : DSI0 : GRAYSCALE "); + } + + /** + * This method allows to setup Reader Mode + * + * @param status The new Reader Mode status + * @return boolean Must be false if Reader Mode is not supported or the operation + * failed; true in any other case. + */ + public static boolean setEnabled(boolean status) { + return FileUtils.writeLine(ACCESSIBILITY_FILE, status ? "4" : "0"); } }