From da8a1faa288bfe7129f9ff6b46e9faa8acb74cbf Mon Sep 17 00:00:00 2001 From: Simon1511 Date: Sat, 29 Oct 2022 14:16:53 +0200 Subject: [PATCH] sm7125-common: livedisplay: Use hardware/samsung implementation for Outdoor mode Change-Id: I55cb42f74a6cf13416f61de5c05183c7d50826db --- livedisplay/SunlightEnhancement.cpp | 25 ++++++++++++------------- livedisplay/SunlightEnhancement.h | 11 ++--------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/livedisplay/SunlightEnhancement.cpp b/livedisplay/SunlightEnhancement.cpp index cf70b92..8ed052a 100644 --- a/livedisplay/SunlightEnhancement.cpp +++ b/livedisplay/SunlightEnhancement.cpp @@ -31,29 +31,28 @@ namespace livedisplay { namespace V2_0 { namespace samsung { -static constexpr const char* kBrightnessPath = "/sys/class/backlight/panel0-backlight/brightness"; +static constexpr const char* kSREPath = "/sys/class/mdnie/mdnie/outdoor"; // Methods from ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement follow. bool SunlightEnhancement::isSupported() { - std::fstream brightness(kBrightnessPath, brightness.in | brightness.out); - return brightness.good(); + std::fstream sre(kSREPath, sre.in | sre.out); + + return sre.good(); } // Methods from ::vendor::lineage::livedisplay::V2_0::IAdaptiveBacklight follow. Return SunlightEnhancement::isEnabled() { - std::string brightness; - ReadFileToString(kBrightnessPath, &brightness); - return brightness == "486"; + std::string tmp; + int32_t statusSRE = 0; + if (ReadFileToString(kSREPath, &tmp)) { + statusSRE = std::stoi(Trim(tmp)); + } + + return statusSRE == 1; } Return SunlightEnhancement::setEnabled(bool enabled) { - if (enabled) { - ReadFileToString(kBrightnessPath, &previous_brightness); - return WriteStringToFile("486", kBrightnessPath, true); - } else if (!previous_brightness.empty()) { - return WriteStringToFile(previous_brightness, kBrightnessPath, true); - } - return true; + return WriteStringToFile(enabled ? "1" : "0", kSREPath, true); } } // namespace samsung diff --git a/livedisplay/SunlightEnhancement.h b/livedisplay/SunlightEnhancement.h index b49975f..fb6c22c 100644 --- a/livedisplay/SunlightEnhancement.h +++ b/livedisplay/SunlightEnhancement.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 The LineageOS Project + * Copyright (C) 2019-2022 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,8 +14,7 @@ * limitations under the License. */ -#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_H +#pragma once #include #include @@ -42,10 +41,6 @@ class SunlightEnhancement : public ISunlightEnhancement { // Methods from ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement follow. Return isEnabled() override; Return setEnabled(bool enabled) override; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - private: - std::string previous_brightness; }; } // namespace samsung @@ -53,5 +48,3 @@ class SunlightEnhancement : public ISunlightEnhancement { } // namespace livedisplay } // namespace lineage } // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_H