diff options
-rw-r--r-- | cmhw/org/cyanogenmod/hardware/SunlightEnhancement.java | 88 | ||||
-rwxr-xr-x | rootdir/etc/init.qcom.rc | 6 |
2 files changed, 90 insertions, 4 deletions
diff --git a/cmhw/org/cyanogenmod/hardware/SunlightEnhancement.java b/cmhw/org/cyanogenmod/hardware/SunlightEnhancement.java new file mode 100644 index 0000000..a83e9cd --- /dev/null +++ b/cmhw/org/cyanogenmod/hardware/SunlightEnhancement.java @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2016 The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.cyanogenmod.hardware; + +import org.cyanogenmod.internal.util.FileUtils; + +import android.util.Log; + +/** + * Facemelt mode! + */ +public class SunlightEnhancement { + + private static final String TAG = "SunlightEnhancement"; + + private static final String FILE_HBM = "/sys/class/graphics/fb0/hbm"; + + /** + * Whether device supports HBM + * + * @return boolean Supported devices must return always true + */ + public static boolean isSupported() { + return FileUtils.isFileWritable(FILE_HBM); + } + + /** + * This method return the current activation status of HBM + * + * @return boolean Must be false when HBM is not supported or not activated, or + * the operation failed while reading the status; true in any other case. + */ + public static boolean isEnabled() { + try { + return Integer.parseInt(FileUtils.readOneLine(FILE_HBM)) > 0; + } catch (Exception e) { + Log.e(TAG, e.getMessage(), e); + } + return false; + } + + /** + * This method allows to setup HBM + * + * @param status The new HBM status + * @return boolean Must be false if HBM is not supported or the operation + * failed; true in any other case. + */ + public static boolean setEnabled(boolean status) { + return FileUtils.writeLine(FILE_HBM, status ? "1" : "0"); + } + + /** + * Whether adaptive backlight (CABL / CABC) is required to be enabled + * + * @return boolean False if adaptive backlight is not a dependency + */ + public static boolean isAdaptiveBacklightRequired() { + return false; + } + + /** + * Set this to true if the implementation is self-managed and does + * it's own ambient sensing. In this case, setEnabled is assumed + * to toggle the feature on or off, but not activate it. If set + * to false, LiveDisplay will call setEnabled when the ambient lux + * threshold is crossed. + * + * @return true if this enhancement is self-managed + */ + public static boolean isSelfManaged() { + return false; + } +} diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 9b2b858..fb4dc67 100755 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -108,16 +108,14 @@ on boot # Graphics chown system graphics /sys/class/graphics/fb0/dyn_pu chmod 0664 /sys/class/graphics/fb0/dyn_pu - chown system graphics /sys/class/graphics/fb0/dynamic_fps - chmod 0664 /sys/class/graphics/fb0/dynamic_fps chown system graphics /sys/class/graphics/fb0/idle_time chmod 0664 /sys/class/graphics/fb0/idle_time chown system graphics /sys/class/graphics/fb0/mode chmod 0664 /sys/class/graphics/fb0/mode chown system graphics /sys/class/graphics/fb0/modes chmod 0664 /sys/class/graphics/fb0/modes - chown system graphics /sys/class/graphics/fb0/sre - chmod 0664 /sys/class/graphics/fb0/sre + chown system graphics /sys/class/graphics/fb0/hbm + chmod 0664 /sys/class/graphics/fb0/hbm symlink /data/local /local # Vibrator intensity control |