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