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