From 7156ddca8f185e387e03e8d83bb840c340e1d5c4 Mon Sep 17 00:00:00 2001 From: roynatech2544 Date: Tue, 12 Apr 2022 11:48:57 +0900 Subject: [PATCH] universal7885: parts: hidl: Make some changes * Drop useless selinux and gpu * Instead put display configs (DT2W, Glove mode) Signed-off-by: roynatech2544 --- .../interfaces/hardware/parts/1.0/Android.bp | 9 ++-- .../1.0/{IBattery.hal => IBatteryStats.hal} | 4 +- .../1.0/{IGpu.hal => IDisplayConfigs.hal} | 5 +- .../{IFlashLight.hal => IFlashBrightness.hal} | 6 +-- .../hardware/parts/1.0/ISELinux.hal | 20 ------- .../hardware/parts/1.0/default/Android.bp | 3 +- .../hardware/parts/1.0/default/Battery.cpp | 10 ++-- .../hardware/parts/1.0/default/Battery.h | 10 ++-- .../1.0/default/{Gpu.cpp => Display.cpp} | 41 ++++++-------- .../1.0/default/{SELinux.h => Display.h} | 11 ++-- .../hardware/parts/1.0/default/FlashLight.cpp | 14 ++--- .../hardware/parts/1.0/default/FlashLight.h | 12 ++--- .../hardware/parts/1.0/default/Gpu.h | 38 ------------- .../hardware/parts/1.0/default/SELinux.cpp | 53 ------------------ .../hardware/parts/1.0/default/service.cpp | 54 +++++++------------ ...endor.eureka.hardware.parts@1.0-service.rc | 7 ++- .../vendor.eureka.hardware.parts@1.0.xml | 10 ++-- .../interfaces/hardware/parts/1.0/types.hal | 5 ++ .../sepolicy/vendor/hal_parts_default.te | 11 ++-- .../sepolicy/vendor/hwservice_contexts | 7 ++- 20 files changed, 92 insertions(+), 238 deletions(-) rename universal7885-common/hardware/interfaces/hardware/parts/1.0/{IBattery.hal => IBatteryStats.hal} (87%) rename universal7885-common/hardware/interfaces/hardware/parts/1.0/{IGpu.hal => IDisplayConfigs.hal} (84%) rename universal7885-common/hardware/interfaces/hardware/parts/1.0/{IFlashLight.hal => IFlashBrightness.hal} (82%) delete mode 100644 universal7885-common/hardware/interfaces/hardware/parts/1.0/ISELinux.hal rename universal7885-common/hardware/interfaces/hardware/parts/1.0/default/{Gpu.cpp => Display.cpp} (60%) rename universal7885-common/hardware/interfaces/hardware/parts/1.0/default/{SELinux.h => Display.h} (77%) delete mode 100644 universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Gpu.h delete mode 100644 universal7885-common/hardware/interfaces/hardware/parts/1.0/default/SELinux.cpp diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/Android.bp b/universal7885-common/hardware/interfaces/hardware/parts/1.0/Android.bp index 2f68103..eae74af 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/Android.bp +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/Android.bp @@ -3,11 +3,10 @@ hidl_interface { root: "vendor.eureka", srcs: [ "types.hal", - "IBattery.hal", - "IFlashLight.hal", - "IGpu.hal", - "ISELinux.hal", + "IBatteryStats.hal", + "IFlashBrightness.hal", + "IDisplayConfigs.hal", ], interfaces: [ "android.hidl.base@1.0" ], - gen_java: true, + gen_java: false, } diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/IBattery.hal b/universal7885-common/hardware/interfaces/hardware/parts/1.0/IBatteryStats.hal similarity index 87% rename from universal7885-common/hardware/interfaces/hardware/parts/1.0/IBattery.hal rename to universal7885-common/hardware/interfaces/hardware/parts/1.0/IBatteryStats.hal index 55ff1d7..229fc83 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/IBattery.hal +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/IBatteryStats.hal @@ -14,7 +14,7 @@ package vendor.eureka.hardware.parts@1.0; -interface IBattery { +interface IBatteryStats { getBatteryStats(SysfsType stats) generates (int32_t result); - setBatteryWritable(SysfsType stats, Number value) generates (int32_t result); + setBatteryWritable(SysfsType stats, Number value); }; diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/IGpu.hal b/universal7885-common/hardware/interfaces/hardware/parts/1.0/IDisplayConfigs.hal similarity index 84% rename from universal7885-common/hardware/interfaces/hardware/parts/1.0/IGpu.hal rename to universal7885-common/hardware/interfaces/hardware/parts/1.0/IDisplayConfigs.hal index 717f04e..63f483f 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/IGpu.hal +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/IDisplayConfigs.hal @@ -14,7 +14,6 @@ package vendor.eureka.hardware.parts@1.0; -interface IGpu { - setGpuWritable(Number enable) generates (int32_t result); - readGpustats() generates (int32_t value); +interface IDisplayConfigs { + writeDisplay(Number enable, Display type); }; diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/IFlashLight.hal b/universal7885-common/hardware/interfaces/hardware/parts/1.0/IFlashBrightness.hal similarity index 82% rename from universal7885-common/hardware/interfaces/hardware/parts/1.0/IFlashLight.hal rename to universal7885-common/hardware/interfaces/hardware/parts/1.0/IFlashBrightness.hal index 63a72b0..6a7b22b 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/IFlashLight.hal +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/IFlashBrightness.hal @@ -14,8 +14,8 @@ package vendor.eureka.hardware.parts@1.0; -interface IFlashLight { - setFlashlightWritable(Value value) generates (int32_t result); - setFlashlightEnable(Number enable) generates (int32_t result); +interface IFlashBrightness { + setFlashlightWritable(Value value); + setFlashlightEnable(Number enable); readFlashlightstats(Device device) generates (int32_t value); }; diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/ISELinux.hal b/universal7885-common/hardware/interfaces/hardware/parts/1.0/ISELinux.hal deleted file mode 100644 index f0af70e..0000000 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/ISELinux.hal +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (C) 2021 Eureka Team -// -// 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. - -package vendor.eureka.hardware.parts@1.0; - -interface ISELinux { - setSELinuxWritable(Number enable) generates (int32_t result); - readSELinuxstats() generates (int32_t value); -}; diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Android.bp b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Android.bp index 42e2b88..4235402 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Android.bp +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Android.bp @@ -7,8 +7,7 @@ cc_binary { srcs: [ "Battery.cpp", "FlashLight.cpp", - "Gpu.cpp", - "SELinux.cpp", + "Display.cpp", "service.cpp", ], shared_libs: [ diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.cpp b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.cpp index 8a325e9..4540239 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.cpp +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.cpp @@ -21,7 +21,7 @@ namespace vendor::eureka::hardware::parts::V1_0 { // Methods from ::android::hardware::battery::V1_0::IBattery follow. -Return Battery::getBatteryStats(parts::V1_0::SysfsType stats) { +Return BatteryStats::getBatteryStats(parts::V1_0::SysfsType stats) { std::ifstream file; std::string filename; switch (stats) { @@ -60,7 +60,7 @@ Return Battery::getBatteryStats(parts::V1_0::SysfsType stats) { return -1; } -Return Battery::setBatteryWritable(parts::V1_0::SysfsType stats, +Return BatteryStats::setBatteryWritable(parts::V1_0::SysfsType stats, parts::V1_0::Number value) { std::ofstream file; std::string filename; @@ -100,10 +100,10 @@ Return Battery::setBatteryWritable(parts::V1_0::SysfsType stats, file << write; file.close(); if (FastCharge) seteuid(ANDROID_ROOT_UID); - return 0; + return Void(); } -IBattery* Battery::getInstance(void) { - return new Battery(); +IBatteryStats* BatteryStats::getInstance(void) { + return new BatteryStats(); } } // namespace vendor::eureka::hardware::parts::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.h b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.h index 948a2ae..47bdf3a 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.h +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Battery.h @@ -16,7 +16,7 @@ #include #include -#include +#include #define ANDROID_SYSTEM_UID 1000 #define ANDROID_ROOT_UID 0 @@ -31,12 +31,12 @@ using ::android::hardware::hidl_vec; using ::android::hardware::Return; using ::android::hardware::Void; -struct Battery : public IBattery { - // Methods from ::vendor::eureka::hardware::parts::V1_0::IBattery follow. +struct BatteryStats : public IBatteryStats { + // Methods from ::vendor::eureka::hardware::parts::V1_0::IBatteryStats follow. Return getBatteryStats(SysfsType stats) override; - Return setBatteryWritable(SysfsType stats, Number value) override; + Return setBatteryWritable(SysfsType stats, Number value) override; // Methods from ::android::hidl::base::V1_0::IBase follow. - static IBattery* getInstance(void); + static IBatteryStats* getInstance(void); }; } // namespace vendor::eureka::hardware::parts::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Gpu.cpp b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Display.cpp similarity index 60% rename from universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Gpu.cpp rename to universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Display.cpp index 021ef4f..db93c00 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Gpu.cpp +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Display.cpp @@ -12,42 +12,33 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "Gpu.h" +#include "Display.h" #include #include #include namespace vendor::eureka::hardware::parts::V1_0 { -Return Gpu::setGpuWritable(parts::V1_0::Number enable) { +Return DisplayConfigs::writeDisplay(parts::V1_0::Number enable, parts::V1_0::Display type) { std::ofstream file; std::string writevalue; - if (enable == Number::ENABLE) { - writevalue = "1"; - } else { - writevalue = "0"; + if (type == Display::DOUBLE_TAP){ + writevalue = "aot_enable"; + } else if (type == Display::GLOVE_MODE){ + writevalue = "glove_mode"; } - file.open("/sys/devices/platform/11500000.mali/tmu"); + + if (enable == Number::ENABLE) { + writevalue += ",1"; + } else { + writevalue += ",0"; + } + file.open("/sys/class/sec/tsp/cmd"); file << writevalue; file.close(); - return 0; + return Void(); } -Return Gpu::readGpustats(void) { - std::ifstream file; - std::string value; - int32_t intvalue; - file.open("/sys/devices/platform/11500000.mali/tmu"); - if (file.is_open()) { - getline(file, value); - file.close(); - std::stringstream val(value); - val >> intvalue; - return intvalue; - } - return -1; -} - -IGpu* Gpu::getInstance(void) { - return new Gpu(); +IDisplayConfigs* DisplayConfigs::getInstance(void) { + return new DisplayConfigs(); } } // namespace vendor::eureka::hardware::parts::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/SELinux.h b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Display.h similarity index 77% rename from universal7885-common/hardware/interfaces/hardware/parts/1.0/default/SELinux.h rename to universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Display.h index b544416..c149f85 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/SELinux.h +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Display.h @@ -16,7 +16,7 @@ #include #include -#include +#include namespace vendor::eureka::hardware::parts::V1_0 { @@ -28,11 +28,10 @@ using ::android::hardware::hidl_vec; using ::android::hardware::Return; using ::android::hardware::Void; -struct SELinux : public ISELinux { - // Methods from ::vendor::eureka::hardware::parts::V1_0::ISELinux follow. - Return setSELinuxWritable(Number enable); - Return readSELinuxstats(void); +struct DisplayConfigs : public IDisplayConfigs { + // Methods from ::vendor::eureka::hardware::parts::V1_0::IDisplayConfigs follow. + Return writeDisplay(Number enable, Display type); // Methods from ::android::hidl::base::V1_0::IBase follow. - static ISELinux* getInstance(void); + static IDisplayConfigs* getInstance(void); }; } // namespace vendor::eureka::hardware::parts::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.cpp b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.cpp index 275a903..17da36d 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.cpp +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.cpp @@ -19,7 +19,7 @@ namespace vendor::eureka::hardware::parts::V1_0 { // Methods from ::android::hardware::parts::V1_0::IFlashLight follow. -Return FlashLight::setFlashlightEnable(parts::V1_0::Number enable) { +Return FlashBrightness::setFlashlightEnable(parts::V1_0::Number enable) { std::ofstream file; std::string writevalue; switch (enable) { @@ -36,10 +36,10 @@ Return FlashLight::setFlashlightEnable(parts::V1_0::Number enable) { file.open("/sys/class/camera/flash/torch_brightness_lvl_enable"); file << writevalue; file.close(); - return 0; + return Void(); } -Return FlashLight::setFlashlightWritable(parts::V1_0::Value value) { +Return FlashBrightness::setFlashlightWritable(parts::V1_0::Value value) { std::ofstream file; std::string writevalue; switch (value) { @@ -80,10 +80,10 @@ Return FlashLight::setFlashlightWritable(parts::V1_0::Value value) { file.open("/sys/class/camera/flash/torch_brightness_lvl"); file << writevalue; file.close(); - return 0; + return Void(); } -Return FlashLight::readFlashlightstats(parts::V1_0::Device device) { +Return FlashBrightness::readFlashlightstats(parts::V1_0::Device device) { std::ifstream file; std::string value; int32_t intvalue; @@ -104,7 +104,7 @@ Return FlashLight::readFlashlightstats(parts::V1_0::Device device) { return -1; } -IFlashLight* FlashLight::getInstance(void) { - return new FlashLight(); +IFlashBrightness* FlashBrightness::getInstance(void) { + return new FlashBrightness(); } } // namespace vendor::eureka::hardware::parts::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.h b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.h index b1a39e6..f8af3f0 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.h +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/FlashLight.h @@ -16,7 +16,7 @@ #include #include -#include +#include namespace vendor::eureka::hardware::parts::V1_0 { @@ -28,12 +28,12 @@ using ::android::hardware::hidl_vec; using ::android::hardware::Return; using ::android::hardware::Void; -struct FlashLight : public IFlashLight { - // Methods from ::vendor::eureka::hardware::flashlight::V1_0::IFlashLight follow. - Return setFlashlightEnable(Number enable); - Return setFlashlightWritable(Value value); +struct FlashBrightness : public IFlashBrightness { + // Methods from ::vendor::eureka::hardware::parts::V1_0::IFlashBrightness follow. + Return setFlashlightEnable(Number enable); + Return setFlashlightWritable(Value value); Return readFlashlightstats(Device device); // Methods from ::android::hidl::base::V1_0::IBase follow. - static IFlashLight* getInstance(void); + static IFlashBrightness* getInstance(void); }; } // namespace vendor::eureka::hardware::parts::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Gpu.h b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Gpu.h deleted file mode 100644 index 29c4694..0000000 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/Gpu.h +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (C) 2021 Eureka Team -// -// 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. - -#pragma once - -#include -#include -#include - -namespace vendor::eureka::hardware::parts::V1_0 { - -using ::android::sp; -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; - -struct Gpu : public IGpu { - // Methods from ::vendor::eureka::hardware::parts::V1_0::IGpu follow. - Return setGpuWritable(Number enable); - Return readGpustats(void); - // Methods from ::android::hidl::base::V1_0::IBase follow. - static IGpu* getInstance(void); -}; -} // namespace vendor::eureka::hardware::parss::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/SELinux.cpp b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/SELinux.cpp deleted file mode 100644 index ec3b1c5..0000000 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/SELinux.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (C) 2021 Eureka Team -// -// 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 "SELinux.h" -#include -#include -#include -namespace vendor::eureka::hardware::parts::V1_0 { - -Return SELinux::setSELinuxWritable(parts::V1_0::Number enable) { - std::ofstream file; - std::string writevalue; - if (enable == Number::ENABLE) { - writevalue = "1"; - } else { - writevalue = "0"; - } - file.open("/sys/fs/selinux/enforce"); - file << writevalue; - file.close(); - return 0; -} - -Return SELinux::readSELinuxstats(void) { - std::ifstream file; - std::string value; - int32_t intvalue; - file.open("/sys/fs/selinux/enforce"); - if (file.is_open()) { - getline(file, value); - file.close(); - std::stringstream val(value); - val >> intvalue; - return intvalue; - } - return -1; -} - -ISELinux* SELinux::getInstance(void) { - return new SELinux(); -} -} // namespace vendor::eureka::hardware::parts::V1_0 diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/service.cpp b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/service.cpp index dcecf9f..236e5aa 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/service.cpp +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/service.cpp @@ -14,37 +14,31 @@ #define LOG_TAG "vendor.eureka.hardware.parts@1.0-service" -#include -#include -#include -#include - +#include +#include +#include #include #include "Battery.h" #include "FlashLight.h" -#include "Gpu.h" -#include "SELinux.h" +#include "Display.h" using android::sp; using android::hardware::configureRpcThreadpool; using android::hardware::joinRpcThreadpool; -using vendor::eureka::hardware::parts::V1_0::Battery; -using vendor::eureka::hardware::parts::V1_0::IBattery; -using vendor::eureka::hardware::parts::V1_0::FlashLight; -using vendor::eureka::hardware::parts::V1_0::IFlashLight; -using vendor::eureka::hardware::parts::V1_0::Gpu; -using vendor::eureka::hardware::parts::V1_0::IGpu; -using vendor::eureka::hardware::parts::V1_0::SELinux; -using vendor::eureka::hardware::parts::V1_0::ISELinux; +using vendor::eureka::hardware::parts::V1_0::BatteryStats; +using vendor::eureka::hardware::parts::V1_0::IBatteryStats; +using vendor::eureka::hardware::parts::V1_0::FlashBrightness; +using vendor::eureka::hardware::parts::V1_0::IFlashBrightness; +using vendor::eureka::hardware::parts::V1_0::DisplayConfigs; +using vendor::eureka::hardware::parts::V1_0::IDisplayConfigs; int main() { int ret; - android::sp mBatteryService = Battery::getInstance(); - android::sp mFlashLightService = FlashLight::getInstance(); - android::sp mGPUService = Gpu::getInstance(); - android::sp mSEService = SELinux::getInstance(); - configureRpcThreadpool(1, true /*callerWillJoin*/); + android::sp mBatteryService = BatteryStats::getInstance(); + android::sp mFlashLightService = FlashBrightness::getInstance(); + android::sp mDisplayService = DisplayConfigs::getInstance(); + configureRpcThreadpool(4, true /*callerWillJoin*/); if (mBatteryService != nullptr) { ret = mBatteryService->registerAsService(); @@ -66,25 +60,15 @@ int main() { } else { ALOGE("Can't create instance of FlashLight HAL, nullptr"); } - if (mGPUService != nullptr) { - ret = mGPUService->registerAsService(); + if (mDisplayService != nullptr) { + ret = mDisplayService->registerAsService(); if (ret != 0) { - ALOGE("Can't register instance of GPU HAL, nullptr"); + ALOGE("Can't register instance of Display HAL, nullptr"); } else { - ALOGI("registered GPU HAL"); + ALOGI("registered Display HAL"); } } else { - ALOGE("Can't create instance of GPU HAL, nullptr"); - } - if (mSEService != nullptr) { - ret = mSEService->registerAsService(); - if (ret != 0) { - ALOGE("Can't register instance of SELinux HAL, nullptr"); - } else { - ALOGI("registered SELinux HAL"); - } - } else { - ALOGE("Can't create instance of SELinux HAL, nullptr"); + ALOGE("Can't create instance of Display HAL, nullptr"); } joinRpcThreadpool(); diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0-service.rc b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0-service.rc index 44cf193..4aba9d3 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0-service.rc +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0-service.rc @@ -1,8 +1,7 @@ service vendor.parts-hal /vendor/bin/hw/vendor.eureka.hardware.parts@1.0-service - interface vendor.eureka.hardware.parts@1.0::IBattery default - interface vendor.eureka.hardware.parts@1.0::IGpu default - interface vendor.eureka.hardware.parts@1.0::IFlashLight default - interface vendor.eureka.hardware.parts@1.0::ISELinux default + interface vendor.eureka.hardware.parts@1.0::IBatteryStats default + interface vendor.eureka.hardware.parts@1.0::IDisplayConfigs default + interface vendor.eureka.hardware.parts@1.0::IFlashBrightness default class hal user root group root diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0.xml b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0.xml index 39483ec..2250062 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0.xml +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/default/vendor.eureka.hardware.parts@1.0.xml @@ -4,19 +4,15 @@ hwbinder 1.0 - IBattery + IBatteryStats default - IFlashLight + IFlashBrightness default - IGpu - default - - - ISELinux + IDisplayConfigs default diff --git a/universal7885-common/hardware/interfaces/hardware/parts/1.0/types.hal b/universal7885-common/hardware/interfaces/hardware/parts/1.0/types.hal index 53c2346..90066f6 100644 --- a/universal7885-common/hardware/interfaces/hardware/parts/1.0/types.hal +++ b/universal7885-common/hardware/interfaces/hardware/parts/1.0/types.hal @@ -23,6 +23,11 @@ enum SysfsType : int32_t { CHARGE, }; +enum Display : int32_t { + DOUBLE_TAP, + GLOVE_MODE, +}; + enum Number : int32_t { ENABLE = 1, DISABLE = 0, diff --git a/universal7885-common/sepolicy/vendor/hal_parts_default.te b/universal7885-common/sepolicy/vendor/hal_parts_default.te index 13d3e6a..d60e9e8 100644 --- a/universal7885-common/sepolicy/vendor/hal_parts_default.te +++ b/universal7885-common/sepolicy/vendor/hal_parts_default.te @@ -21,11 +21,6 @@ allow hal_parts_default sysfs_flashlight:file { read open write getattr }; allow hal_parts_default sysfs_flashlight:dir search; allow hal_parts_default sysfs_virtual:dir search; -# GPU -allow hal_parts_default sysfs_gpu_tmu:file { read open write getattr }; -allow hal_parts_default sysfs_gpu_tmu:dir search; - -# SELinux -allow hal_parts_default selinuxfs:file rw_file_perms; -allow hal_parts_default selinuxfs:dir search; - +# Display +allow hal_parts_default sysfs_sec_touchscreen:dir search; +allow hal_parts_default sysfs_touchscreen_writable:file rw_file_perms; diff --git a/universal7885-common/sepolicy/vendor/hwservice_contexts b/universal7885-common/sepolicy/vendor/hwservice_contexts index 054667b..90d1f97 100644 --- a/universal7885-common/sepolicy/vendor/hwservice_contexts +++ b/universal7885-common/sepolicy/vendor/hwservice_contexts @@ -5,10 +5,9 @@ vendor.samsung.hardware.radio.channel::ISehChannel u:object_r:rild_hwse vendor.lineage.power::ILineagePower u:object_r:hal_power_hwservice:s0 # SamsungParts -vendor.eureka.hardware.parts::IBattery u:object_r:hal_parts_hwservice:s0 -vendor.eureka.hardware.parts::IFlashLight u:object_r:hal_parts_hwservice:s0 -vendor.eureka.hardware.parts::IGpu u:object_r:hal_parts_hwservice:s0 -vendor.eureka.hardware.parts::ISELinux u:object_r:hal_parts_hwservice:s0 +vendor.eureka.hardware.parts::IBatteryStats u:object_r:hal_parts_hwservice:s0 +vendor.eureka.hardware.parts::IFlashBrightness u:object_r:hal_parts_hwservice:s0 +vendor.eureka.hardware.parts::IDisplayConfigs u:object_r:hal_parts_hwservice:s0 # FMRadio vendor.eureka.hardware.fmradio::IFMRadio u:object_r:hal_fmradio_hwservice:s0