Add lazy service target to the light HAL
This change allows a device to include the lazy service implementation, which will allow the HAL to exit when it is not in use. Test: Manually observe brightness slider behavior Change-Id: I7f8f747ebe6e183e1aaf1406852e6e26a97aee35
This commit is contained in:
parent
db4cc673f5
commit
45c1dd8160
4 changed files with 51 additions and 7 deletions
|
@ -31,13 +31,11 @@ cc_library_shared {
|
|||
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "android.hardware.light@2.0-service",
|
||||
cc_defaults {
|
||||
name: "light_service_defaults",
|
||||
relative_install_path: "hw",
|
||||
defaults: ["hidl_defaults"],
|
||||
vendor: true,
|
||||
init_rc: ["android.hardware.light@2.0-service.rc"],
|
||||
srcs: ["service.cpp"],
|
||||
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
|
@ -49,5 +47,19 @@ cc_binary {
|
|||
"libhidltransport",
|
||||
"android.hardware.light@2.0",
|
||||
],
|
||||
}
|
||||
|
||||
}
|
||||
cc_binary {
|
||||
name: "android.hardware.light@2.0-service",
|
||||
defaults: ["light_service_defaults"],
|
||||
init_rc: ["android.hardware.light@2.0-service.rc"],
|
||||
srcs: ["service.cpp"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "android.hardware.light@2.0-service-lazy",
|
||||
overrides: ["android.hardware.light@2.0-service"],
|
||||
defaults: ["light_service_defaults"],
|
||||
init_rc: ["android.hardware.light@2.0-service-lazy.rc"],
|
||||
srcs: ["serviceLazy.cpp"],
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service-lazy
|
||||
interface android.hardware.light@2.0::ILight default
|
||||
oneshot
|
||||
disabled
|
||||
class hal
|
||||
user system
|
||||
group system
|
||||
# shutting off lights while powering-off
|
||||
shutdown critical
|
|
@ -14,8 +14,6 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "android.hardware.light@2.0-service"
|
||||
|
||||
#include <android/hardware/light/2.0/ILight.h>
|
||||
#include <hidl/LegacySupport.h>
|
||||
|
||||
|
|
25
light/2.0/default/serviceLazy.cpp
Normal file
25
light/2.0/default/serviceLazy.cpp
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright 2019 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 <android/hardware/light/2.0/ILight.h>
|
||||
#include <hidl/LegacySupport.h>
|
||||
|
||||
using android::hardware::defaultLazyPassthroughServiceImplementation;
|
||||
using android::hardware::light::V2_0::ILight;
|
||||
|
||||
int main() {
|
||||
return defaultLazyPassthroughServiceImplementation<ILight>();
|
||||
}
|
Loading…
Reference in a new issue