Add 'blank_screen' util. am: 64a7afb07e
am: 30cb8c1b79
am: a2dc32bd29
Change-Id: I4bf96f1c14cea91a504e2f425aa7281afb08b7f1
This commit is contained in:
commit
35535bdd39
3 changed files with 87 additions and 0 deletions
30
light/utils/Android.bp
Normal file
30
light/utils/Android.bp
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
// Turns off the screen.
|
||||||
|
// Canonical usage is for init (which can't talk to hals directly).
|
||||||
|
cc_binary {
|
||||||
|
name: "blank_screen",
|
||||||
|
init_rc: ["blank_screen.rc"],
|
||||||
|
srcs: ["main.cpp"],
|
||||||
|
shared_libs: [
|
||||||
|
"android.hardware.light@2.0",
|
||||||
|
"libbase",
|
||||||
|
"libhidlbase",
|
||||||
|
"libhidltransport",
|
||||||
|
"libutils",
|
||||||
|
],
|
||||||
|
}
|
5
light/utils/blank_screen.rc
Normal file
5
light/utils/blank_screen.rc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
service blank_screen /system/bin/blank_screen
|
||||||
|
user system
|
||||||
|
oneshot
|
||||||
|
group system readproc
|
||||||
|
shutdown critical
|
52
light/utils/main.cpp
Normal file
52
light/utils/main.cpp
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* 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 <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <android-base/logging.h>
|
||||||
|
#include <android/hardware/light/2.0/ILight.h>
|
||||||
|
|
||||||
|
void error(const std::string& msg) {
|
||||||
|
LOG(ERROR) << msg;
|
||||||
|
std::cerr << msg << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
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<ILight> 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,
|
||||||
|
};
|
||||||
|
|
||||||
|
Status ret = service->setLight(Type::BACKLIGHT, off).withDefault(Status::UNKNOWN);
|
||||||
|
if (ret != Status::SUCCESS) {
|
||||||
|
error("Failed to shut off screen");
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in a new issue