a10: Fixup issues with sensor hal

Imported sensor hal source from android 12L, rebranded and make it compile as 32bit
This commit is contained in:
roynatech2544 2022-05-04 20:22:06 +09:00
commit cdc2de72fc
No known key found for this signature in database
GPG key ID: 50ABF73F0D19445D
5 changed files with 62 additions and 0 deletions

View file

@ -17,6 +17,10 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
android.hardware.usb@1.0-service.a10
# Sensors
PRODUCT_PACKAGES += \
android.hardware.sensors@1.0-service.a10
TARGET_SCREEN_HEIGHT := 1560
TARGET_SCREEN_WIDTH := 720

19
a10/sensor/Android.bp Normal file
View file

@ -0,0 +1,19 @@
cc_binary {
name: "android.hardware.sensors@1.0-service.a10",
relative_install_path: "hw",
vendor: true,
init_rc: ["android.hardware.sensors@1.0-service.a10.rc"],
srcs: ["service.cpp"],
compile_multilib: "32",
shared_libs: [
"liblog",
"libcutils",
"libdl",
"libbase",
"libutils",
"libhidlbase",
"android.hardware.sensors@1.0",
],
}

View file

@ -0,0 +1,7 @@
service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service.a10
interface android.hardware.sensors@1.0::ISensors default
class hal
user system
group system wakelock uhid context_hub
capabilities BLOCK_SUSPEND
rlimit rtprio 10 10

31
a10/sensor/service.cpp Normal file
View file

@ -0,0 +1,31 @@
/*
* Copyright (C) 2016 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.
*/
#define LOG_TAG "android.hardware.sensors@1.0-service.a10"
#include <android/hardware/sensors/1.0/ISensors.h>
#include <hidl/LegacySupport.h>
using android::hardware::sensors::V1_0::ISensors;
using android::hardware::defaultPassthroughServiceImplementation;
int main() {
/* Sensors framework service needs at least two threads.
* One thread blocks on a "poll"
* The second thread is needed for all other HAL methods.
*/
return defaultPassthroughServiceImplementation<ISensors>(2);
}