diff options
-rw-r--r-- | light/utils/main.cpp | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/light/utils/main.cpp b/light/utils/main.cpp index d07e799ab9..b83413246b 100644 --- a/light/utils/main.cpp +++ b/light/utils/main.cpp @@ -25,7 +25,7 @@ void error(const std::string& msg) { std::cerr << msg << std::endl; } -int main() { +int main(int argc, char* argv[]) { using ::android::hardware::hidl_vec; using ::android::hardware::light::V2_0::Brightness; using ::android::hardware::light::V2_0::Flash; @@ -41,10 +41,29 @@ int main() { return -1; } - const static LightState off = { - .color = 0u, .flashMode = Flash::NONE, .brightnessMode = Brightness::USER, + static LightState off = { + .color = 0u, + .flashMode = Flash::NONE, + .brightnessMode = Brightness::USER, }; + if (argc > 2) { + error("Usage: blank_screen [color]"); + return -1; + } + + if (argc > 1) { + char* col_ptr; + unsigned int col_new; + + col_new = strtoul(argv[1], &col_ptr, 0); + if (*col_ptr != '\0') { + error("Failed to convert " + std::string(argv[1]) + " to number"); + return -1; + } + off.color = col_new; + } + service->getSupportedTypes([&](const hidl_vec<Type>& types) { for (Type type : types) { Status ret = service->setLight(type, off); |