diff --git a/lineagehw/hidl/livedisplay/AdaptiveBacklight.cpp b/lineagehw/hidl/livedisplay/AdaptiveBacklight.cpp deleted file mode 100644 index bccd387..0000000 --- a/lineagehw/hidl/livedisplay/AdaptiveBacklight.cpp +++ /dev/null @@ -1,52 +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. - */ - -#include - -#include "AdaptiveBacklight.h" - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -bool AdaptiveBacklight::isSupported() { - std::ofstream file("/sys/class/lcd/panel/power_reduce"); - return file.good(); -} - -// Methods from ::vendor::lineage::livedisplay::V2_0::IAdaptiveBacklight follow. -Return AdaptiveBacklight::isEnabled() { - std::ifstream file("/sys/class/lcd/panel/power_reduce"); - int value; - - file >> value; - - return !file.fail() && value == 1; -} - -Return AdaptiveBacklight::setEnabled(bool enabled) { - std::ofstream file("/sys/class/lcd/panel/power_reduce"); - file << (enabled ? "1" : "0"); - return true; -} - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor diff --git a/lineagehw/hidl/livedisplay/AdaptiveBacklight.h b/lineagehw/hidl/livedisplay/AdaptiveBacklight.h deleted file mode 100644 index 35502ba..0000000 --- a/lineagehw/hidl/livedisplay/AdaptiveBacklight.h +++ /dev/null @@ -1,56 +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_ADAPTIVEBACKLIGHT_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_ADAPTIVEBACKLIGHT_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 AdaptiveBacklight : public IAdaptiveBacklight { - public: - bool isSupported(); - - // Methods from ::vendor::lineage::livedisplay::V2_0::IAdaptiveBacklight follow. - Return isEnabled() override; - Return setEnabled(bool enabled) override; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_ADAPTIVEBACKLIGHT_H diff --git a/lineagehw/hidl/livedisplay/Android.bp b/lineagehw/hidl/livedisplay/Android.bp deleted file mode 100644 index 8de096d..0000000 --- a/lineagehw/hidl/livedisplay/Android.bp +++ /dev/null @@ -1,42 +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. - -cc_binary { - name: "vendor.lineage.livedisplay@2.0-service.samsung", - init_rc: ["vendor.lineage.livedisplay@2.0-service.samsung.rc"], - defaults: ["hidl_defaults"], - relative_install_path: "hw", - // FIXME: this should be 'vendor: true' for modules that will eventually be - // on AOSP. - proprietary: true, - srcs: [ - "AdaptiveBacklight.cpp", - "DisplayColorCalibration.cpp", - "DisplayColorCalibrationExynos.cpp", - "DisplayModes.cpp", - "ReadingEnhancement.cpp", - "ReadingEnhancementExynos.cpp", - "SunlightEnhancement.cpp", - "SunlightEnhancementExynos.cpp", - "service.cpp", - ], - shared_libs: [ - "libbase", - "libbinder", - "libhidlbase", - "libhidltransport", - "libutils", - "vendor.lineage.livedisplay@2.0", - ], -} diff --git a/lineagehw/hidl/livedisplay/DisplayColorCalibration.cpp b/lineagehw/hidl/livedisplay/DisplayColorCalibration.cpp deleted file mode 100644 index 9ecace6..0000000 --- a/lineagehw/hidl/livedisplay/DisplayColorCalibration.cpp +++ /dev/null @@ -1,70 +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. - */ - -#include - -#include "DisplayColorCalibration.h" - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -static constexpr const char *kColorPath = "/sys/class/graphics/fb0/rgb"; - -bool DisplayColorCalibration::isSupported() { - std::ofstream file(kColorPath); - return file.good(); -} - -Return DisplayColorCalibration::getMaxValue() { - return 32768; -} - -Return DisplayColorCalibration::getMinValue() { - return 255; -} - -Return DisplayColorCalibration::getCalibration(getCalibration_cb resultCb) { - std::ifstream file(kColorPath); - int r, g, b; - - file >> r >> g >> b; - if (file.fail()) { - resultCb(std::vector()); - } else { - resultCb(std::vector({ r, g, b })); - } - - return Void(); -} - -Return DisplayColorCalibration::setCalibration(const hidl_vec& rgb) { - std::ofstream file(kColorPath); - if (rgb.size() != 3) { - return false; - } - - file << rgb[0] << " " << rgb[1] << " " << rgb[2]; - return !file.fail(); -} - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor diff --git a/lineagehw/hidl/livedisplay/DisplayColorCalibration.h b/lineagehw/hidl/livedisplay/DisplayColorCalibration.h deleted file mode 100644 index 131444d..0000000 --- a/lineagehw/hidl/livedisplay/DisplayColorCalibration.h +++ /dev/null @@ -1,58 +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_DISPLAYCOLORCALIBRATION_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_DISPLAYCOLORCALIBRATION_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 DisplayColorCalibration : public IDisplayColorCalibration { - public: - bool isSupported(); - - // Methods from ::vendor::lineage::livedisplay::V2_0::IDisplayColorCalibration follow. - Return getMaxValue() override; - Return getMinValue() override; - Return getCalibration(getCalibration_cb resultCb) override; - Return setCalibration(const hidl_vec& rgb) override; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_DISPLAYCOLORCALIBRATION_H diff --git a/lineagehw/hidl/livedisplay/DisplayColorCalibrationExynos.cpp b/lineagehw/hidl/livedisplay/DisplayColorCalibrationExynos.cpp deleted file mode 100644 index 1958ecc..0000000 --- a/lineagehw/hidl/livedisplay/DisplayColorCalibrationExynos.cpp +++ /dev/null @@ -1,70 +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. - */ - -#include - -#include "DisplayColorCalibrationExynos.h" - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -static constexpr const char *kColorPath = "/sys/class/mdnie/mdnie/sensorRGB"; - -bool DisplayColorCalibrationExynos::isSupported() { - std::ofstream file(kColorPath); - return file.good(); -} - -Return DisplayColorCalibrationExynos::getMaxValue() { - return 255; -} - -Return DisplayColorCalibrationExynos::getMinValue() { - return 1; -} - -Return DisplayColorCalibrationExynos::getCalibration(getCalibration_cb resultCb) { - std::ifstream file(kColorPath); - int r, g, b; - - file >> r >> g >> b; - if (file.fail()) { - resultCb(std::vector()); - } else { - resultCb(std::vector({ r, g, b })); - } - - return Void(); -} - -Return DisplayColorCalibrationExynos::setCalibration(const hidl_vec& rgb) { - std::ofstream file(kColorPath); - if (rgb.size() != 3) { - return false; - } - - file << rgb[0] << " " << rgb[1] << " " << rgb[2]; - return !file.fail(); -} - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor diff --git a/lineagehw/hidl/livedisplay/DisplayColorCalibrationExynos.h b/lineagehw/hidl/livedisplay/DisplayColorCalibrationExynos.h deleted file mode 100644 index c00e577..0000000 --- a/lineagehw/hidl/livedisplay/DisplayColorCalibrationExynos.h +++ /dev/null @@ -1,58 +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_DISPLAYCOLORCALIBRATIONEXYNOS_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_DISPLAYCOLORCALIBRATIONEXYNOS_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 DisplayColorCalibrationExynos : public IDisplayColorCalibration { - public: - bool isSupported(); - - // Methods from ::vendor::lineage::livedisplay::V2_0::IDisplayColorCalibration follow. - Return getMaxValue() override; - Return getMinValue() override; - Return getCalibration(getCalibration_cb resultCb) override; - Return setCalibration(const hidl_vec& rgb) override; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_DISPLAYCOLORCALIBRATIONEXYNOS_H diff --git a/lineagehw/hidl/livedisplay/DisplayModes.cpp b/lineagehw/hidl/livedisplay/DisplayModes.cpp deleted file mode 100644 index 0202be6..0000000 --- a/lineagehw/hidl/livedisplay/DisplayModes.cpp +++ /dev/null @@ -1,135 +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"; -static constexpr const char* kDefaultPath = "/data/misc/.displaymodedefault"; - -const std::map DisplayModes::kModeMap = { - {0, "Dynamic"}, - {1, "Standard"}, - {2, "Natural"}, - {3, "Cinema"}, - {4, "Adaptive"}, - {5, "Reading"}, -}; - -DisplayModes::DisplayModes() : mDefaultModeId(0) { - 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; - } - } -} - -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/lineagehw/hidl/livedisplay/DisplayModes.h b/lineagehw/hidl/livedisplay/DisplayModes.h deleted file mode 100644 index ef539fc..0000000 --- a/lineagehw/hidl/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/lineagehw/hidl/livedisplay/ReadingEnhancement.cpp b/lineagehw/hidl/livedisplay/ReadingEnhancement.cpp deleted file mode 100644 index a811075..0000000 --- a/lineagehw/hidl/livedisplay/ReadingEnhancement.cpp +++ /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. - */ - -#include - -#include "ReadingEnhancement.h" - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -// Methods from ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement follow. -bool ReadingEnhancement::isSupported() { - std::ofstream file("/sys/devices/virtual/mdnie/mdnie/accessibility"); - return file.good(); -} - -// Methods from ::vendor::lineage::livedisplay::V2_0::IReadingEnhancement follow. -Return ReadingEnhancement::isEnabled() { - std::ifstream file("/sys/devices/virtual/mdnie/mdnie/accessibility"); - std::string line; - - if (file.is_open()) { - file >> line; - } - - return !line.compare("Current accessibility : DSI0 : GRAYSCALE "); -} - -Return ReadingEnhancement::setEnabled(bool enabled) { - std::ofstream file("/sys/devices/virtual/mdnie/mdnie/accessibility"); - if (file.is_open()) { - file << (enabled ? "4" : "0"); - } - - 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/lineagehw/hidl/livedisplay/ReadingEnhancement.h b/lineagehw/hidl/livedisplay/ReadingEnhancement.h deleted file mode 100644 index 6fa7084..0000000 --- a/lineagehw/hidl/livedisplay/ReadingEnhancement.h +++ /dev/null @@ -1,56 +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_READINGENHANCEMENT_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_READINGENHANCEMENT_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 ReadingEnhancement : public IReadingEnhancement { - public: - bool isSupported(); - - // Methods from ::vendor::lineage::livedisplay::V2_0::IReadingEnhancement follow. - Return isEnabled() override; - Return setEnabled(bool) override; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_READINGENHANCEMENT_H diff --git a/lineagehw/hidl/livedisplay/ReadingEnhancementExynos.cpp b/lineagehw/hidl/livedisplay/ReadingEnhancementExynos.cpp deleted file mode 100644 index a51672e..0000000 --- a/lineagehw/hidl/livedisplay/ReadingEnhancementExynos.cpp +++ /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. - */ - -#include - -#include "ReadingEnhancementExynos.h" - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -// Methods from ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement follow. -bool ReadingEnhancementExynos::isSupported() { - std::ofstream file("/sys/class/mdnie/mdnie/accessibility"); - return file.good(); -} - -// Methods from ::vendor::lineage::livedisplay::V2_0::IReadingEnhancement follow. -Return ReadingEnhancementExynos::isEnabled() { - std::ifstream file("/sys/class/mdnie/mdnie/accessibility"); - int status; - - if (file.is_open()) { - file >> status; - } - - return file.good() && status == 4; -} - -Return ReadingEnhancementExynos::setEnabled(bool enabled) { - std::ofstream file("/sys/class/mdnie/mdnie/accessibility"); - if (file.is_open()) { - file << (enabled ? "4" : "0"); - } - - 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/lineagehw/hidl/livedisplay/ReadingEnhancementExynos.h b/lineagehw/hidl/livedisplay/ReadingEnhancementExynos.h deleted file mode 100644 index 8791ecd..0000000 --- a/lineagehw/hidl/livedisplay/ReadingEnhancementExynos.h +++ /dev/null @@ -1,56 +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_READINGENHANCEMENTEXYNOS_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_READINGENHANCEMENTEXYNOS_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 ReadingEnhancementExynos : public IReadingEnhancement { - public: - bool isSupported(); - - // Methods from ::vendor::lineage::livedisplay::V2_0::IReadingEnhancement follow. - Return isEnabled() override; - Return setEnabled(bool) override; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_READINGENHANCEMENTEXYNOS_H diff --git a/lineagehw/hidl/livedisplay/SunlightEnhancement.cpp b/lineagehw/hidl/livedisplay/SunlightEnhancement.cpp deleted file mode 100644 index 851b8e3..0000000 --- a/lineagehw/hidl/livedisplay/SunlightEnhancement.cpp +++ /dev/null @@ -1,69 +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. - */ - -#include - -#include "SunlightEnhancement.h" - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -// Methods from ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement follow. -bool SunlightEnhancement::isSupported() { - std::ofstream fileSRE("/sys/class/mdnie/mdnie/outdoor"); - std::ofstream fileHBM("/sys/class/lcd/panel/panel/auto_brightness"); - return fileSRE.good() || fileHBM.good(); -} - -// Methods from ::vendor::lineage::livedisplay::V2_0::IAdaptiveBacklight follow. -Return SunlightEnhancement::isEnabled() { - std::ifstream fileSRE("/sys/class/mdnie/mdnie/outdoor"); - std::ifstream fileHBM("/sys/class/lcd/panel/panel/auto_brightness"); - int statusSRE = -1; - int statusHBM = -1; - - if (fileSRE.is_open()) { - fileSRE >> statusSRE; - } - if (fileHBM.is_open()) { - fileHBM >> statusHBM; - } - - return (fileSRE.good() || fileHBM.good()) && ((statusSRE == 1 && statusHBM == 6) || statusSRE == 1); -} - -Return SunlightEnhancement::setEnabled(bool enabled) { - std::ofstream fileSRE("/sys/class/mdnie/mdnie/outdoor"); - std::ofstream fileHBM("/sys/class/lcd/panel/panel/auto_brightness"); - - if (fileSRE.is_open()) { - fileSRE << (enabled ? "1" : "0"); - } - if (fileHBM.is_open()) { - fileHBM << (enabled ? "6" : "0"); - } - - return true; -} - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor diff --git a/lineagehw/hidl/livedisplay/SunlightEnhancement.h b/lineagehw/hidl/livedisplay/SunlightEnhancement.h deleted file mode 100644 index eb70f8e..0000000 --- a/lineagehw/hidl/livedisplay/SunlightEnhancement.h +++ /dev/null @@ -1,56 +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_SUNLIGHTENHANCEMENT_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_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 SunlightEnhancement : public ISunlightEnhancement { - public: - bool isSupported(); - - // 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. - -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_H diff --git a/lineagehw/hidl/livedisplay/SunlightEnhancementExynos.cpp b/lineagehw/hidl/livedisplay/SunlightEnhancementExynos.cpp deleted file mode 100644 index 8ff2ec4..0000000 --- a/lineagehw/hidl/livedisplay/SunlightEnhancementExynos.cpp +++ /dev/null @@ -1,59 +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. - */ - -#include - -#include "SunlightEnhancementExynos.h" - -namespace vendor { -namespace lineage { -namespace livedisplay { -namespace V2_0 { -namespace samsung { - -// Methods from ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement follow. -bool SunlightEnhancementExynos::isSupported() { - std::ofstream file("/sys/class/mdnie/mdnie/lux"); - return file.good(); -} - -// Methods from ::vendor::lineage::livedisplay::V2_0::IAdaptiveBacklight follow. -Return SunlightEnhancementExynos::isEnabled() { - std::ifstream file("/sys/class/mdnie/mdnie/lux"); - int status = -1; - - if (file.is_open()) { - file >> status; - } - - return file.good() && status > 0; -} - -Return SunlightEnhancementExynos::setEnabled(bool enabled) { - std::ofstream file("/sys/class/mdnie/mdnie/lux"); - if (file.is_open()) { - /* see drivers/video/fbdev/exynos/decon_7880/panels/mdnie_lite_table*, get_hbm_index */ - file << (enabled ? "40000" : "0"); - } - - return true; -} - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor diff --git a/lineagehw/hidl/livedisplay/SunlightEnhancementExynos.h b/lineagehw/hidl/livedisplay/SunlightEnhancementExynos.h deleted file mode 100644 index 5bf9798..0000000 --- a/lineagehw/hidl/livedisplay/SunlightEnhancementExynos.h +++ /dev/null @@ -1,56 +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_SUNLIGHTENHANCEMENTEXYNOS_H -#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENTEXYNOS_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 SunlightEnhancementExynos : public ISunlightEnhancement { - public: - bool isSupported(); - - // 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. - -}; - -} // namespace samsung -} // namespace V2_0 -} // namespace livedisplay -} // namespace lineage -} // namespace vendor - -#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENTEXYNOS_H diff --git a/lineagehw/hidl/livedisplay/service.cpp b/lineagehw/hidl/livedisplay/service.cpp deleted file mode 100644 index 5ba2646..0000000 --- a/lineagehw/hidl/livedisplay/service.cpp +++ /dev/null @@ -1,198 +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 "vendor.lineage.livedisplay@2.0-service.samsung" - -#include -#include -#include - -#include "AdaptiveBacklight.h" -#include "DisplayColorCalibration.h" -#include "DisplayColorCalibrationExynos.h" -#include "DisplayModes.h" -#include "ReadingEnhancement.h" -#include "ReadingEnhancementExynos.h" -#include "SunlightEnhancement.h" -#include "SunlightEnhancementExynos.h" - -using android::hardware::configureRpcThreadpool; -using android::hardware::joinRpcThreadpool; -using android::sp; -using android::status_t; -using android::OK; - -using vendor::lineage::livedisplay::V2_0::samsung::AdaptiveBacklight; -using vendor::lineage::livedisplay::V2_0::samsung::DisplayColorCalibration; -using vendor::lineage::livedisplay::V2_0::samsung::DisplayColorCalibrationExynos; -using vendor::lineage::livedisplay::V2_0::samsung::DisplayModes; -using vendor::lineage::livedisplay::V2_0::samsung::ReadingEnhancement; -using vendor::lineage::livedisplay::V2_0::samsung::ReadingEnhancementExynos; -using vendor::lineage::livedisplay::V2_0::samsung::SunlightEnhancement; -using vendor::lineage::livedisplay::V2_0::samsung::SunlightEnhancementExynos; - -int main() { - sp adaptiveBacklight; - sp displayColorCalibration; - sp displayColorCalibrationExynos; - sp displayModes; - sp readingEnhancement; - sp readingEnhancementExynos; - sp sunlightEnhancement; - sp sunlightEnhancementExynos; - status_t status; - - LOG(INFO) << "LiveDisplay HAL service is starting."; - - adaptiveBacklight = new AdaptiveBacklight(); - if (adaptiveBacklight == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL AdaptiveBacklight Iface, exiting."; - goto shutdown; - } - - displayColorCalibration = new DisplayColorCalibration(); - if (displayColorCalibration == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL DisplayColorCalibration Iface, exiting."; - goto shutdown; - } - - displayColorCalibrationExynos = new DisplayColorCalibrationExynos(); - if (displayColorCalibrationExynos == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL DisplayColorCalibration Iface, exiting."; - goto shutdown; - } - - displayModes = new DisplayModes(); - if (displayModes == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL DisplayModes Iface, exiting."; - goto shutdown; - } - - readingEnhancement = new ReadingEnhancement(); - if (readingEnhancement == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL ReadingEnhancement Iface, exiting."; - goto shutdown; - } - - readingEnhancementExynos = new ReadingEnhancementExynos(); - if (readingEnhancementExynos == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL ReadingEnhancement Iface, exiting."; - goto shutdown; - } - - sunlightEnhancement = new SunlightEnhancement(); - if (sunlightEnhancement == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL SunlightEnhancement Iface, exiting."; - goto shutdown; - } - - sunlightEnhancementExynos = new SunlightEnhancementExynos(); - if (sunlightEnhancementExynos == nullptr) { - LOG(ERROR) << "Can not create an instance of LiveDisplay HAL SunlightEnhancement Iface, exiting."; - goto shutdown; - } - - configureRpcThreadpool(1, true /*callerWillJoin*/); - - if (adaptiveBacklight->isSupported()) { - status = adaptiveBacklight->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL AdaptiveBacklight Iface (" - << status << ")"; - goto shutdown; - } - } - - if (displayColorCalibration->isSupported()) { - status = displayColorCalibration->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL DisplayColorCalibration Iface (" - << status << ")"; - goto shutdown; - } - } - - if (displayColorCalibrationExynos->isSupported()) { - status = displayColorCalibrationExynos->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL DisplayColorCalibration Iface (" - << status << ")"; - goto shutdown; - } - } - - if (displayModes->isSupported()) { - status = displayModes->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL DisplayModes Iface (" - << status << ")"; - goto shutdown; - } - } - - if (readingEnhancement->isSupported()) { - status = readingEnhancement->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL ReadingEnhancement Iface (" - << status << ")"; - goto shutdown; - } - } - - if (readingEnhancementExynos->isSupported()) { - status = readingEnhancementExynos->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL ReadingEnhancement Iface (" - << status << ")"; - goto shutdown; - } - } - - if (sunlightEnhancement->isSupported()) { - status = sunlightEnhancement->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL SunlightEnhancement Iface (" - << status << ")"; - goto shutdown; - } - } - - if (sunlightEnhancementExynos->isSupported()) { - status = sunlightEnhancementExynos->registerAsService(); - if (status != OK) { - LOG(ERROR) - << "Could not register service for LiveDisplay HAL SunlightEnhancement Iface (" - << status << ")"; - goto shutdown; - } - } - - LOG(INFO) << "LiveDisplay HAL service is ready."; - joinRpcThreadpool(); - // Should not pass this line - -shutdown: - // In normal operation, we don't expect the thread pool to shutdown - LOG(ERROR) << "LiveDisplay HAL service is shutting down."; - return 1; -} diff --git a/lineagehw/hidl/livedisplay/vendor.lineage.livedisplay@2.0-service.samsung.rc b/lineagehw/hidl/livedisplay/vendor.lineage.livedisplay@2.0-service.samsung.rc deleted file mode 100644 index a7e41d7..0000000 --- a/lineagehw/hidl/livedisplay/vendor.lineage.livedisplay@2.0-service.samsung.rc +++ /dev/null @@ -1,4 +0,0 @@ -service vendor.livedisplay-hal-2-0-samsung /vendor/bin/hw/vendor.lineage.livedisplay@2.0-service.samsung - class hal - user system - group system \ No newline at end of file