aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto97 <albertop2197@gmail.com>2018-01-04 16:10:01 +0100
committerAli Al-Asadi <alasadi56@gmail.com>2018-02-10 07:46:59 +0100
commitbb59cca09e459ee6773da5d16215430fd00048ce (patch)
treeb8f514f87930c111a40149dfe5e28b1e44659665
parent5e9268cfba986677572d85e5b51d9249172699aa (diff)
athene: Build a 32bit version of sensorservice
system_server is currently responable of starting SensorService and since it is a 64bit instance, system looks for 64bit sensorhal. Disable this mechanism and manually start SensorService with a 32bit copy of sensorservice to force the system using the 32bit HAL This is based on vache's work on potter Change-Id: I8554500a70e9cb8fdb5a31990b33e90e345e37af
-rw-r--r--device.mk3
-rw-r--r--sensorservice/Android.mk23
-rw-r--r--sensorservice/sensorservice.rc3
3 files changed, 28 insertions, 1 deletions
diff --git a/device.mk b/device.mk
index bfe5c7b..64b0565 100644
--- a/device.mk
+++ b/device.mk
@@ -342,7 +342,8 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/sensors/hals.conf:system/etc/sensors/hals.conf
PRODUCT_PACKAGES += \
- android.hardware.sensors@1.0-impl
+ android.hardware.sensors@1.0-impl \
+ sensorservice_32
# Stlport
PRODUCT_PACKAGES += \
diff --git a/sensorservice/Android.mk b/sensorservice/Android.mk
new file mode 100644
index 0000000..d9e850e
--- /dev/null
+++ b/sensorservice/Android.mk
@@ -0,0 +1,23 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:= \
+ ../../../../frameworks/native/services/sensorservice/main_sensorservice.cpp
+
+LOCAL_SHARED_LIBRARIES := \
+ libsensorservice \
+ libbinder \
+ libutils
+
+LOCAL_CFLAGS := -Wall -Werror -Wextra
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_MODULE:= sensorservice_32
+
+LOCAL_32_BIT_ONLY := true
+LOCAL_INIT_RC := sensorservice.rc
+LOCAL_PROPRIETARY_MODULE := true
+
+include $(BUILD_EXECUTABLE)
diff --git a/sensorservice/sensorservice.rc b/sensorservice/sensorservice.rc
new file mode 100644
index 0000000..d2749de
--- /dev/null
+++ b/sensorservice/sensorservice.rc
@@ -0,0 +1,3 @@
+service sensorservice /vendor/bin/sensorservice_32
+ class main
+ user root