From d5a635d142016c124d3e8f4a40b47514ab08afb7 Mon Sep 17 00:00:00 2001 From: luk1337 Date: Mon, 8 Jul 2019 19:14:26 +0200 Subject: [PATCH] sdm710-common: light: Drop notification LED support * also remove led capabilities overlay Signed-off-by: SamarV-121 --- light/Light.cpp | 80 ------------------- light/Light.h | 2 - ...ardware.light@2.0-service.realme_sdm710.rc | 31 ++----- .../lineage/res/res/values/config.xml | 14 ---- 4 files changed, 7 insertions(+), 120 deletions(-) diff --git a/light/Light.cpp b/light/Light.cpp index f7334a4..9fd5c9f 100644 --- a/light/Light.cpp +++ b/light/Light.cpp @@ -51,29 +51,6 @@ static T get(const std::string& path, const T& def) { } static constexpr int kDefaultMaxBrightness = 255; -static constexpr int kRampSteps = 50; -static constexpr int kRampMaxStepDurationMs = 5; - -static uint32_t getBrightness(const LightState& state) { - uint32_t alpha, red, green, blue; - - // Extract brightness from AARRGGBB - alpha = (state.color >> 24) & 0xff; - - // Retrieve each of the RGB colors - red = (state.color >> 16) & 0xff; - green = (state.color >> 8) & 0xff; - blue = state.color & 0xff; - - // Scale RGB colors if a brightness has been applied by the user - if (alpha != 0xff) { - red = red * alpha / 0xff; - green = green * alpha / 0xff; - blue = blue * alpha / 0xff; - } - - return (77 * red + 150 * green + 29 * blue) >> 8; -} static uint32_t rgbToBrightness(const LightState& state) { uint32_t color = state.color & 0x00ffffff; @@ -83,10 +60,7 @@ static uint32_t rgbToBrightness(const LightState& state) { } Light::Light() { - mLights.emplace(Type::ATTENTION, std::bind(&Light::handleNotification, this, std::placeholders::_1, 0)); mLights.emplace(Type::BACKLIGHT, std::bind(&Light::handleBacklight, this, std::placeholders::_1)); - mLights.emplace(Type::BATTERY, std::bind(&Light::handleNotification, this, std::placeholders::_1, 1)); - mLights.emplace(Type::NOTIFICATIONS, std::bind(&Light::handleNotification, this, std::placeholders::_1, 2)); } void Light::handleBacklight(const LightState& state) { @@ -101,60 +75,6 @@ void Light::handleBacklight(const LightState& state) { set("/sys/class/backlight/panel0-backlight/brightness", brightness); } -void Light::handleNotification(const LightState& state, size_t index) { - mLightStates.at(index) = state; - - LightState stateToUse = mLightStates.front(); - for (const auto& lightState : mLightStates) { - if (lightState.color & 0xffffff) { - stateToUse = lightState; - break; - } - } - - uint32_t whiteBrightness = getBrightness(stateToUse); - - uint32_t onMs = stateToUse.flashMode == Flash::TIMED ? stateToUse.flashOnMs : 0; - uint32_t offMs = stateToUse.flashMode == Flash::TIMED ? stateToUse.flashOffMs : 0; - - auto getScaledDutyPercent = [](int brightness) -> std::string { - std::string output; - for (int i = 0; i <= kRampSteps; i++) { - if (i != 0) { - output += ","; - } - output += std::to_string(i * 100 * brightness / (kDefaultMaxBrightness * kRampSteps)); - } - return output; - }; - - // Disable blinking to start - set("/sys/class/leds/white/blink", 0); - - if (onMs > 0 && offMs > 0) { - uint32_t pauseLo, pauseHi, stepDuration; - if (kRampMaxStepDurationMs * kRampSteps > onMs) { - stepDuration = onMs / kRampSteps; - pauseHi = 0; - } else { - stepDuration = kRampMaxStepDurationMs; - pauseHi = onMs - kRampSteps * stepDuration; - pauseLo = offMs - kRampSteps * stepDuration; - } - - set("/sys/class/leds/white/start_idx", 0); - set("/sys/class/leds/white/duty_pcts", getScaledDutyPercent(whiteBrightness)); - set("/sys/class/leds/white/pause_lo", pauseLo); - set("/sys/class/leds/white/pause_hi", pauseHi); - set("/sys/class/leds/white/ramp_step_ms", stepDuration); - - // Start blinking - set("/sys/class/leds/white/blink", 1); - } else { - set("/sys/class/leds/white/brightness", whiteBrightness); - } -} - Return Light::setLight(Type type, const LightState& state) { auto it = mLights.find(type); diff --git a/light/Light.h b/light/Light.h index 4e1d3df..53d774b 100644 --- a/light/Light.h +++ b/light/Light.h @@ -46,11 +46,9 @@ class Light : public ILight { private: void handleBacklight(const LightState& state); - void handleNotification(const LightState& state, size_t index); std::mutex mLock; std::unordered_map> mLights; - std::array mLightStates; }; } // namespace implementation diff --git a/light/android.hardware.light@2.0-service.realme_sdm710.rc b/light/android.hardware.light@2.0-service.realme_sdm710.rc index b1b2070..b54ca95 100644 --- a/light/android.hardware.light@2.0-service.realme_sdm710.rc +++ b/light/android.hardware.light@2.0-service.realme_sdm710.rc @@ -1,24 +1,7 @@ -on boot - chown system system /sys/class/leds/white/brightness - - chown system system /sys/class/leds/white/blink - chown system system /sys/class/leds/white/duty_pcts - chown system system /sys/class/leds/white/pause_hi - chown system system /sys/class/leds/white/pause_lo - chown system system /sys/class/leds/white/ramp_step_ms - chown system system /sys/class/leds/white/start_idx - - chmod 660 /sys/class/leds/white/blink - chmod 660 /sys/class/leds/white/duty_pcts - chmod 660 /sys/class/leds/white/pause_hi - chmod 660 /sys/class/leds/white/pause_lo - chmod 660 /sys/class/leds/white/ramp_step_ms - chmod 660 /sys/class/leds/white/start_idx - -service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service - interface android.hardware.light@2.0::ILight default - class hal - user system - group system - # shutting off lights while powering-off - shutdown critical +service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service + interface android.hardware.light@2.0::ILight default + class hal + user system + group system + # shutting off lights while powering-off + shutdown critical diff --git a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml index d77db6f..9056e62 100644 --- a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml +++ b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml @@ -45,20 +45,6 @@ 100 true - - 104 - true