diff --git a/light/2.0/default/Android.bp b/light/2.0/default/Android.bp index 8b5f780224..72cc8730d1 100644 --- a/light/2.0/default/Android.bp +++ b/light/2.0/default/Android.bp @@ -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", ], +} -} \ No newline at end of file +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"], +} diff --git a/light/2.0/default/android.hardware.light@2.0-service-lazy.rc b/light/2.0/default/android.hardware.light@2.0-service-lazy.rc new file mode 100644 index 0000000000..8a3a59c26a --- /dev/null +++ b/light/2.0/default/android.hardware.light@2.0-service-lazy.rc @@ -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 diff --git a/light/2.0/default/service.cpp b/light/2.0/default/service.cpp index 70ae5655d1..20f0578f02 100644 --- a/light/2.0/default/service.cpp +++ b/light/2.0/default/service.cpp @@ -14,8 +14,6 @@ * limitations under the License. */ -#define LOG_TAG "android.hardware.light@2.0-service" - #include #include diff --git a/light/2.0/default/serviceLazy.cpp b/light/2.0/default/serviceLazy.cpp new file mode 100644 index 0000000000..5324f465b3 --- /dev/null +++ b/light/2.0/default/serviceLazy.cpp @@ -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 +#include + +using android::hardware::defaultLazyPassthroughServiceImplementation; +using android::hardware::light::V2_0::ILight; + +int main() { + return defaultLazyPassthroughServiceImplementation(); +}