summaryrefslogtreecommitdiffstats
path: root/sysfs/AutoContrast.cpp
diff options
context:
space:
mode:
authorPaul Keith <javelinanddart@gmail.com>2019-02-07 09:57:05 -0600
committerPaul Keith <javelinanddart@gmail.com>2019-02-10 14:15:56 -0600
commit8d13803c5eaa56097b6b80f2568f198c6bbc5fb1 (patch)
tree3d956bb36a5f04a04d1b98b9fa862efbdd497233 /sysfs/AutoContrast.cpp
parent781eb9d465e1a7c0ff78e259d8ac171a260052ff (diff)
downloadandroid_hardware_lineage_livedisplay-8d13803c5eaa56097b6b80f2568f198c6bbc5fb1.tar.gz
android_hardware_lineage_livedisplay-8d13803c5eaa56097b6b80f2568f198c6bbc5fb1.tar.bz2
android_hardware_lineage_livedisplay-8d13803c5eaa56097b6b80f2568f198c6bbc5fb1.zip
livedisplay: sysfs: Wire it up
Change-Id: I8e8e222f94bcf86d4ded3d8dc57cc6c70ee7634a
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