Move input processor service into VAPEX
Bug: 300011114
Test: Cuttlefish runs InputProcessor service from VAPEX
Change-Id: I41e297650909f85b5ef45ae9beb2e7508213c96d
diff --git a/input/processor/aidl/default/Android.bp b/input/processor/aidl/default/Android.bp
index f485597..bdd27e2 100644
--- a/input/processor/aidl/default/Android.bp
+++ b/input/processor/aidl/default/Android.bp
@@ -28,27 +28,54 @@
],
}
-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 0000000..bd2945a
--- /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 0000000..2fe0a1d
--- /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 bcc6c02..ade0f11 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