android_hardware_samsung/cmhw/org/cyanogenmod/hardware/AdaptiveBacklight.java
Zhao Wei Liew 41cab354f1 Revert "allow override of cabc file via property"
A quick search reveals that only 1 device uses this - kona.

Instead of adding a system prop for this, that one device
can add its own AdaptiveBacklight class. This allows kona to
use AdaptiveBacklight without having to modify the common class.

This reverts commit c11396ecc6.

Change-Id: Id912091f64da39a10d30c9770f248cf6467e8760
2017-01-26 11:02:11 +00:00

60 lines
2.0 KiB
Java

/*
* Copyright (C) 2013-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;
/**
* Adaptive backlight support (this refers to technologies like NVIDIA SmartDimmer,
* QCOM CABL or Samsung CABC).
*/
public class AdaptiveBacklight {
private static final String FILE_CABC = "/sys/class/lcd/panel/power_reduce";
/**
* Whether device supports an adaptive backlight technology.
*
* @return boolean Supported devices must return always true
*/
public static boolean isSupported() {
return FileUtils.isFileWritable(FILE_CABC) &&
FileUtils.isFileReadable(FILE_CABC);
}
/**
* This method return the current activation status of the adaptive backlight technology.
*
* @return boolean Must be false when adaptive backlight is not supported or not activated, or
* the operation failed while reading the status; true in any other case.
*/
public static boolean isEnabled() {
return "1".equals(FileUtils.readOneLine(FILE_CABC));
}
/**
* This method allows to setup adaptive backlight technology status.
*
* @param status The new adaptive backlight status
* @return boolean Must be false if adaptive backlight is not supported or the operation
* failed; true in any other case.
*/
public static boolean setEnabled(boolean status) {
return FileUtils.writeLine(FILE_CABC, status ? "1" : "0");
}
}