diff options
Diffstat (limited to 'sysfs/ColorEnhancement.cpp')
-rw-r--r-- | sysfs/ColorEnhancement.cpp | 35 |
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 |