From 4e2fcbe38d41c9d58256d25582225215fce5e1b4 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Mon, 30 Mar 2020 10:01:44 +0000 Subject: [PATCH] Changes to lightsctl-huawei tool For https://github.com/phhusson/treble_experimentations/issues/1204 Change-Id: I70655264003190de6c8624e9f63bfea75a09cf61 --- cmds/lightsctl-huawei.cpp | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/cmds/lightsctl-huawei.cpp b/cmds/lightsctl-huawei.cpp index 6e1c8c5..c1223a5 100644 --- a/cmds/lightsctl-huawei.cpp +++ b/cmds/lightsctl-huawei.cpp @@ -1,21 +1,38 @@ #include -#include +#include #include -using ::vendor::huawei::hardware::light::V2_0::IHwLight; +using ::vendor::huawei::hardware::light::V2_0::ILight; using ::android::sp; int main(int argc, char **argv) { - auto svc = IHwLight::getService(); + auto svc = ILight::getService(); svc->HWgetSupportedTypes([](auto types) { for(const auto& type: types) { std::cout << "Got type " << type << std::endl; } }); - uint32_t a = (uint32_t)strtoll(argv[1], NULL, 10); - uint32_t b = (uint32_t)strtoll(argv[2], NULL, 10); - auto ret = svc->HWsetLightBrightness(a, b); - std::cout << "Set light brightness returned " << toString(ret) << std::endl; + + android::hardware::light::V2_0::LightState state; + state.color = (uint32_t)strtoll(argv[2], NULL, 16); + state.flashMode = android::hardware::light::V2_0::Flash::NONE; + state.brightnessMode = android::hardware::light::V2_0::Brightness::USER; + + if(argc == 6) { + std::string flashArg(argv[3]); + if(flashArg == "NONE") + state.flashMode = android::hardware::light::V2_0::Flash::NONE; + if(flashArg == "TIMED") + state.flashMode = android::hardware::light::V2_0::Flash::TIMED; + if(flashArg == "HARDWARE") + state.flashMode = android::hardware::light::V2_0::Flash::HARDWARE; + + state.flashOnMs = atoi(argv[4]); + state.flashOffMs = atoi(argv[5]); + } + std::cout << "Set flash type to " << toString(state.flashMode) << std::endl; + + svc->HWsetLight(a, state); }