From 07ac233182c3f3d8bf4db9ac96fc977a578d99e7 Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Mon, 23 Oct 2023 14:06:24 +0900 Subject: [PATCH] Move input processor service into VAPEX Bug: 300011114 Test: Cuttlefish runs InputProcessor service from VAPEX Change-Id: I41e297650909f85b5ef45ae9beb2e7508213c96d --- input/processor/aidl/default/Android.bp | 43 +++++++++++++++---- .../processor/aidl/default/apex_file_contexts | 3 ++ .../processor/aidl/default/apex_manifest.json | 4 ++ .../aidl/default/inputprocessor-default.rc | 2 +- 4 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 input/processor/aidl/default/apex_file_contexts create mode 100644 input/processor/aidl/default/apex_manifest.json diff --git a/input/processor/aidl/default/Android.bp b/input/processor/aidl/default/Android.bp index f4855976e6..bdd27e2bca 100644 --- a/input/processor/aidl/default/Android.bp +++ b/input/processor/aidl/default/Android.bp @@ -28,27 +28,54 @@ cc_library_static { ], } -filegroup { +prebuilt_etc { name: "android.hardware.input.processor.xml", - srcs: ["android.hardware.input.processor.xml"], + src: "android.hardware.input.processor.xml", + sub_dir: "vintf", + installable: false, +} + +prebuilt_etc { + name: "inputprocessor-default.rc", + src: "inputprocessor-default.rc", + installable: false, } cc_binary { name: "android.hardware.input.processor-service.example", relative_install_path: "hw", - init_rc: ["inputprocessor-default.rc"], - vintf_fragments: [":android.hardware.input.processor.xml"], vendor: true, + installable: false, // installed in APEX + + stl: "c++_static", shared_libs: [ - "libbase", "libbinder_ndk", "liblog", - "libutils", - "android.hardware.input.common-V1-ndk", - "android.hardware.input.processor-V1-ndk", ], static_libs: [ + "android.hardware.input.common-V1-ndk", + "android.hardware.input.processor-V1-ndk", + "libbase", "libinputprocessorexampleimpl", + "libutils", ], srcs: ["main.cpp"], } + +apex { + name: "com.android.hardware.input.processor", + file_contexts: "apex_file_contexts", + manifest: "apex_manifest.json", + key: "com.android.hardware.key", + certificate: ":com.android.hardware.certificate", + updatable: false, + vendor: true, + + binaries: [ + "android.hardware.input.processor-service.example", + ], + prebuilts: [ + "android.hardware.input.processor.xml", + "inputprocessor-default.rc", + ], +} diff --git a/input/processor/aidl/default/apex_file_contexts b/input/processor/aidl/default/apex_file_contexts new file mode 100644 index 0000000000..bd2945a4ac --- /dev/null +++ b/input/processor/aidl/default/apex_file_contexts @@ -0,0 +1,3 @@ +(/.*)? u:object_r:vendor_file:s0 +/etc(/.*)? u:object_r:vendor_configs_file:s0 +/bin/hw/android\.hardware\.input\.processor-service\.example u:object_r:hal_input_processor_default_exec:s0 diff --git a/input/processor/aidl/default/apex_manifest.json b/input/processor/aidl/default/apex_manifest.json new file mode 100644 index 0000000000..2fe0a1da73 --- /dev/null +++ b/input/processor/aidl/default/apex_manifest.json @@ -0,0 +1,4 @@ +{ + "name": "com.android.hardware.input.processor", + "version": 1 +} \ No newline at end of file diff --git a/input/processor/aidl/default/inputprocessor-default.rc b/input/processor/aidl/default/inputprocessor-default.rc index bcc6c02435..ade0f11762 100644 --- a/input/processor/aidl/default/inputprocessor-default.rc +++ b/input/processor/aidl/default/inputprocessor-default.rc @@ -1,4 +1,4 @@ -service vendor.inputprocessor-default /vendor/bin/hw/android.hardware.input.processor-service.example +service vendor.inputprocessor-default /apex/com.android.hardware.input.processor/bin/hw/android.hardware.input.processor-service.example class hal user nobody group nobody \ No newline at end of file