summaryrefslogtreecommitdiffstats
path: root/sysfs/AutoContrast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sysfs/AutoContrast.cpp')
-rw-r--r--sysfs/AutoContrast.cpp35
1 files changed, 24 insertions, 11 deletions
diff --git a/sysfs/AutoContrast.cpp b/sysfs/AutoContrast.cpp
index 522014c..906f6a1 100644
--- a/sysfs/AutoContrast.cpp
+++ b/sysfs/AutoContrast.cpp
@@ -14,32 +14,45 @@
* limitations under the License.
*/
+#include <android-base/file.h>
+#include <android-base/strings.h>
+
+#include <fstream>
+
#include "AutoContrast.h"
+using android::base::ReadFileToString;
+using android::base::Trim;
+using android::base::WriteStringToFile;
+
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_0 {
namespace sysfs {
+bool AutoContrast::isSupported() {
+ std::fstream aco(FILE_ACO, aco.in | aco.out);
+
+ return aco.good();
+}
+
// Methods from ::vendor::lineage::livedisplay::V2_0::IAutoContrast follow.
Return<bool> AutoContrast::isEnabled() {
- // TODO implement
- return bool {};
+ std::string tmp;
+ int32_t contents = 0;
+
+ if (ReadFileToString(FILE_ACO, &tmp)) {
+ contents = std::stoi(Trim(tmp));
+ }
+
+ return contents > 0;
}
Return<bool> AutoContrast::setEnabled(bool enabled) {
- // TODO implement
- return bool {};
+ return WriteStringToFile(enabled ? "1" : "0", FILE_ACO, true);
}
-
-// Methods from ::android::hidl::base::V1_0::IBase follow.
-
-//IAutoContrast* HIDL_FETCH_IAutoContrast(const char* /* name */) {
- //return new AutoContrast();
-//}
-//
} // namespace sysfs
} // namespace V2_0
} // namespace livedisplay