/* * Copyright (C) 2017 The Android Open Source 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 #include #include void error(const std::string& msg) { LOG(ERROR) << msg; std::cerr << msg << std::endl; } int main() { using ::android::hardware::hidl_vec; using ::android::hardware::light::V2_0::Brightness; using ::android::hardware::light::V2_0::Flash; using ::android::hardware::light::V2_0::ILight; using ::android::hardware::light::V2_0::LightState; using ::android::hardware::light::V2_0::Status; using ::android::hardware::light::V2_0::Type; using ::android::sp; sp service = ILight::getService(); if (service == nullptr) { error("Could not retrieve light service."); return -1; } const static LightState off = { .color = 0u, .flashMode = Flash::NONE, .brightnessMode = Brightness::USER, }; service->getSupportedTypes([&](const hidl_vec& types) { for (Type type : types) { Status ret = service->setLight(type, off); if (ret != Status::SUCCESS) { error("Failed to shut off screen for type " + std::to_string(static_cast(type))); } } }); return 0; }