From 603a606f4c1136a317ea047836477e657db0da5a Mon Sep 17 00:00:00 2001 From: Ruchit Marathe Date: Sat, 24 Sep 2022 10:36:41 +0530 Subject: [PATCH] sm7125-common: overlay: Enable colour modes *And drop it from livedisplay Change-Id: I978378d183b10cc9a7b7957a9e6c1118491a6a6c --- configs/manifest.xml | 5 - livedisplay/Android.bp | 1 - livedisplay/DisplayModes.cpp | 139 ------------------ livedisplay/DisplayModes.h | 61 -------- livedisplay/service.cpp | 18 --- .../base/core/res/res/values/config.xml | 8 + 6 files changed, 8 insertions(+), 224 deletions(-) delete mode 100644 livedisplay/DisplayModes.cpp delete mode 100644 livedisplay/DisplayModes.h diff --git a/configs/manifest.xml b/configs/manifest.xml index 5926998..1a73008 100644 --- a/configs/manifest.xml +++ b/configs/manifest.xml @@ -295,17 +295,12 @@ IDisplayColorCalibration default - - IDisplayModes - default - ISunlightEnhancement default @2.0::IAdaptiveBacklight/default @2.0::IDisplayColorCalibration/default - @2.0::IDisplayModes/default @2.0::ISunlightEnhancement/default diff --git a/livedisplay/Android.bp b/livedisplay/Android.bp index 88bcafa..2d718c0 100644 --- a/livedisplay/Android.bp +++ b/livedisplay/Android.bp @@ -19,7 +19,6 @@ cc_binary { relative_install_path: "hw", srcs: [ "AdaptiveBacklight.cpp", - "DisplayModes.cpp", "SunlightEnhancement.cpp", "DisplayColorCalibration.cpp", "service.cpp", diff --git a/livedisplay/DisplayModes.cpp b/livedisplay/DisplayModes.cpp deleted file mode 100644 index 12af3dc..0000000 --- a/livedisplay/DisplayModes.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (C) 2019 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "DisplayModesService" - -#include "DisplayModes.h" -#include -#include - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -static constexpr const char* kModePath = "/sys/class/mdnie/mdnie/mode"; -static constexpr const char* kModeMaxPath = "/sys/class/mdnie/mdnie/mode_max"; -#ifdef LIVES_IN_SYSTEM -static constexpr const char* kDefaultPath = "/data/misc/display/.displaymodedefault"; -#else -static constexpr const char* kDefaultPath = "/data/vendor/display/.displaymodedefault"; -#endif - -const std::map DisplayModes::kModeMap = { - // clang-format off - {0, "Dynamic"}, - {1, "Standard"}, - {2, "Natural"}, - {3, "Cinema"}, - {4, "Adaptive"}, - // clang-format on -}; - -DisplayModes::DisplayModes() : mDefaultModeId(4) { - std::ifstream defaultFile(kDefaultPath); - int value; - - defaultFile >> value; - LOG(DEBUG) << "Default file read result " << value << " fail " << defaultFile.fail(); - if (defaultFile.fail()) { - return; - } - - for (const auto& entry : kModeMap) { - if (value == entry.first) { - mDefaultModeId = entry.first; - break; - } - } - - setDisplayMode(mDefaultModeId, false); -} - -bool DisplayModes::isSupported() { - std::ofstream modeFile(kModePath); - return modeFile.good(); -} - -// Methods from ::vendor::lineage::livedisplay::V2_0::IDisplayModes follow. -Return DisplayModes::getDisplayModes(getDisplayModes_cb resultCb) { - std::ifstream maxModeFile(kModeMaxPath); - int value; - std::vector modes; - if (!maxModeFile.fail()) { - maxModeFile >> value; - } else { - value = kModeMap.size(); - } - for (const auto& entry : kModeMap) { - if (entry.first < value) modes.push_back({entry.first, entry.second}); - } - resultCb(modes); - return Void(); -} - -Return DisplayModes::getCurrentDisplayMode(getCurrentDisplayMode_cb resultCb) { - int32_t currentModeId = mDefaultModeId; - std::ifstream modeFile(kModePath); - int value; - modeFile >> value; - if (!modeFile.fail()) { - for (const auto& entry : kModeMap) { - if (value == entry.first) { - currentModeId = entry.first; - break; - } - } - } - resultCb({currentModeId, kModeMap.at(currentModeId)}); - return Void(); -} - -Return DisplayModes::getDefaultDisplayMode(getDefaultDisplayMode_cb resultCb) { - resultCb({mDefaultModeId, kModeMap.at(mDefaultModeId)}); - return Void(); -} - -Return DisplayModes::setDisplayMode(int32_t modeID, bool makeDefault) { - const auto iter = kModeMap.find(modeID); - if (iter == kModeMap.end()) { - return false; - } - std::ofstream modeFile(kModePath); - modeFile << iter->first; - if (modeFile.fail()) { - return false; - } - - if (makeDefault) { - std::ofstream defaultFile(kDefaultPath); - defaultFile << iter->first; - if (defaultFile.fail()) { - return false; - } - mDefaultModeId = iter->first; - } - return true; -} - -// Methods from ::android::hidl::base::V1_0::IBase follow. - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor diff --git a/livedisplay/DisplayModes.h b/livedisplay/DisplayModes.h deleted file mode 100644 index 149edf3..0000000 --- a/livedisplay/DisplayModes.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2019 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_0_DISPLAYMODES_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_DISPLAYMODES_H - -#include -#include -#include - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -using ::android::hardware::hidl_array; -using ::android::hardware::hidl_memory; -using ::android::hardware::hidl_string; -using ::android::hardware::hidl_vec; -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::sp; - -class DisplayModes : public IDisplayModes { - public: - DisplayModes(); - bool isSupported(); - - // Methods from ::vendor::lineage::livedisplay::V2_0::IDisplayModes follow. - Return getDisplayModes(getDisplayModes_cb resultCb) override; - Return getCurrentDisplayMode(getCurrentDisplayMode_cb resultCb) override; - Return getDefaultDisplayMode(getDefaultDisplayMode_cb resultCb) override; - Return setDisplayMode(int32_t modeID, bool makeDefault) override; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - private: - static const std::map kModeMap; - int32_t mDefaultModeId; -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_DISPLAYMODES_H diff --git a/livedisplay/service.cpp b/livedisplay/service.cpp index c1ee7bc..3649b9f 100644 --- a/livedisplay/service.cpp +++ b/livedisplay/service.cpp @@ -25,7 +25,6 @@ #include #include "AdaptiveBacklight.h" -#include "DisplayModes.h" #include "SunlightEnhancement.h" #include "DisplayColorCalibration.h" @@ -36,13 +35,11 @@ using android::status_t; using android::OK; using vendor::lineage::livedisplay::V2_0::samsung::AdaptiveBacklight; -using vendor::lineage::livedisplay::V2_0::samsung::DisplayModes; using vendor::lineage::livedisplay::V2_0::samsung::SunlightEnhancement; using vendor::lineage::livedisplay::V2_0::samsung::DisplayColorCalibration; int main() { sp adaptiveBacklight; - sp displayModes; sp sunlightEnhancement; sp displayColorCalibration; status_t status; @@ -56,12 +53,6 @@ int main() { goto shutdown; } - displayModes = new DisplayModes(); - if (displayModes == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL DisplayModes Iface, exiting."; - goto shutdown; - } - sunlightEnhancement = new SunlightEnhancement(); if (sunlightEnhancement == nullptr) { LOG(ERROR) @@ -87,15 +78,6 @@ int main() { } } - if (displayModes->isSupported()) { - status = displayModes->registerAsService(); - if (status != OK) { - LOG(ERROR) << "Could not register service for LiveDisplay HAL DisplayModes Iface (" - << status << ")"; - goto shutdown; - } - } - if (sunlightEnhancement->isSupported()) { status = sunlightEnhancement->registerAsService(); if (status != OK) { diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 2ee651c..4f7c58f 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -1358,4 +1358,12 @@ org.lineageos.sensor.udfps + + + + 0 + 1 + 2 + 3 +