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:
Peter Kalauskas 2019-01-14 13:57:12 -08:00
parent db4cc673f5
commit 45c1dd8160
4 changed files with 51 additions and 7 deletions

View file

@ -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"],
}

View file

@ -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

View file

@ -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>

View 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>();
}