From c2a204e4bb3b4961aed6de1cb3eddead105722a9 Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Tue, 15 Nov 2022 18:17:33 +0900 Subject: [PATCH] USB APEX with AIDL implementation The previous USB APEX was bundling HIDL 1.0 default implemetation. Migrating the USB APEX to use AIDL implementation. Bug: 227791019 Test: tbd Change-Id: I99aa16fa36215ff296f8194717381efdcf3e8ed8 --- usb/1.0/default/Android.bp | 14 ++------ usb/1.0/default/apex/manifest.json | 4 --- usb/aidl/default/Android.bp | 12 ++++++- usb/{1.0/default => }/apex/Android.bp | 33 +++++++++--------- .../apex/com.android.hardware.usb.avbpubkey | Bin .../apex/com.android.hardware.usb.pem | 0 .../apex/com.android.hardware.usb.pk8 | Bin .../apex/com.android.hardware.usb.x509.pem | 0 usb/{1.0/default => }/apex/file_contexts | 2 +- usb/apex/manifest.json | 4 +++ 10 files changed, 35 insertions(+), 34 deletions(-) delete mode 100644 usb/1.0/default/apex/manifest.json rename usb/{1.0/default => }/apex/Android.bp (84%) rename usb/{1.0/default => }/apex/com.android.hardware.usb.avbpubkey (100%) rename usb/{1.0/default => }/apex/com.android.hardware.usb.pem (100%) rename usb/{1.0/default => }/apex/com.android.hardware.usb.pk8 (100%) rename usb/{1.0/default => }/apex/com.android.hardware.usb.x509.pem (100%) rename usb/{1.0/default => }/apex/file_contexts (67%) create mode 100644 usb/apex/manifest.json diff --git a/usb/1.0/default/Android.bp b/usb/1.0/default/Android.bp index 4bed2c793f..5f56fe0262 100644 --- a/usb/1.0/default/Android.bp +++ b/usb/1.0/default/Android.bp @@ -21,21 +21,11 @@ package { default_applicable_licenses: ["hardware_interfaces_license"], } -filegroup { - name: "android.hardware.usb@1.0-service.xml", - srcs: ["android.hardware.usb@1.0-service.xml"], -} - -filegroup { - name: "android.hardware.usb@1.0-service.rc", - srcs: ["android.hardware.usb@1.0-service.rc"], -} - cc_binary { name: "android.hardware.usb@1.0-service", defaults: ["hidl_defaults"], - init_rc: [":android.hardware.usb@1.0-service.rc"], - vintf_fragments: [":android.hardware.usb@1.0-service.xml"], + init_rc: ["android.hardware.usb@1.0-service.rc"], + vintf_fragments: ["android.hardware.usb@1.0-service.xml"], relative_install_path: "hw", vendor: true, srcs: [ diff --git a/usb/1.0/default/apex/manifest.json b/usb/1.0/default/apex/manifest.json deleted file mode 100644 index 6a1095ffba..0000000000 --- a/usb/1.0/default/apex/manifest.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "com.android.hardware.usb", - "version": 1 -} diff --git a/usb/aidl/default/Android.bp b/usb/aidl/default/Android.bp index 7cb2822312..ad331f97ce 100644 --- a/usb/aidl/default/Android.bp +++ b/usb/aidl/default/Android.bp @@ -37,8 +37,18 @@ cc_binary { "android.hardware.usb-V1-ndk", "libbase", "libbinder_ndk", - "libcutils", + "libcutils", "liblog", "libutils", ], } + +filegroup { + name: "android.hardware.usb-service.example.xml", + srcs: ["android.hardware.usb-service.example.xml"], +} + +filegroup { + name: "android.hardware.usb-service.example.rc", + srcs: ["android.hardware.usb-service.example.rc"], +} diff --git a/usb/1.0/default/apex/Android.bp b/usb/apex/Android.bp similarity index 84% rename from usb/1.0/default/apex/Android.bp rename to usb/apex/Android.bp index ee50fdf7da..765aa2134b 100644 --- a/usb/1.0/default/apex/Android.bp +++ b/usb/apex/Android.bp @@ -27,19 +27,6 @@ android_app_certificate { certificate: "com.android.hardware.usb", } -genrule { - name: "com.android.hardware.usb.rc-gen", - srcs: [":android.hardware.usb@1.0-service.rc"], - out: ["com.android.hardware.usb.rc"], - cmd: "sed -E 's/\\/vendor/\\/apex\\/com.android.hardware.usb/' $(in) > $(out)", -} - -prebuilt_etc { - name: "com.android.hardware.usb.rc", - src: ":com.android.hardware.usb.rc-gen", - installable: false, -} - apex { name: "com.android.hardware.usb", manifest: "manifest.json", @@ -49,11 +36,25 @@ apex { updatable: false, soc_specific: true, use_vndk_as_stable: true, - binaries: ["android.hardware.usb@1.0-service"], + binaries: ["android.hardware.usb-service.example"], prebuilts: [ - "com.android.hardware.usb.rc", + "com.android.hardware.usb.rc", // init .rc "android.hardware.usb.accessory.prebuilt.xml", "android.hardware.usb.host.prebuilt.xml", ], - vintf_fragments: [":android.hardware.usb@1.0-service.xml"], + vintf_fragments: [":android.hardware.usb-service.example.xml"], +} + +// Replace the binary path from /vendor/bin to /apex/{name}/bin in the init .rc file +genrule { + name: "com.android.hardware.usb.rc-gen", + srcs: [":android.hardware.usb-service.example.rc"], + out: ["com.android.hardware.usb.rc"], + cmd: "sed -E 's/\\/vendor/\\/apex\\/com.android.hardware.usb/' $(in) > $(out)", +} + +prebuilt_etc { + name: "com.android.hardware.usb.rc", + src: ":com.android.hardware.usb.rc-gen", + installable: false, } diff --git a/usb/1.0/default/apex/com.android.hardware.usb.avbpubkey b/usb/apex/com.android.hardware.usb.avbpubkey similarity index 100% rename from usb/1.0/default/apex/com.android.hardware.usb.avbpubkey rename to usb/apex/com.android.hardware.usb.avbpubkey diff --git a/usb/1.0/default/apex/com.android.hardware.usb.pem b/usb/apex/com.android.hardware.usb.pem similarity index 100% rename from usb/1.0/default/apex/com.android.hardware.usb.pem rename to usb/apex/com.android.hardware.usb.pem diff --git a/usb/1.0/default/apex/com.android.hardware.usb.pk8 b/usb/apex/com.android.hardware.usb.pk8 similarity index 100% rename from usb/1.0/default/apex/com.android.hardware.usb.pk8 rename to usb/apex/com.android.hardware.usb.pk8 diff --git a/usb/1.0/default/apex/com.android.hardware.usb.x509.pem b/usb/apex/com.android.hardware.usb.x509.pem similarity index 100% rename from usb/1.0/default/apex/com.android.hardware.usb.x509.pem rename to usb/apex/com.android.hardware.usb.x509.pem diff --git a/usb/1.0/default/apex/file_contexts b/usb/apex/file_contexts similarity index 67% rename from usb/1.0/default/apex/file_contexts rename to usb/apex/file_contexts index bc84ac465b..f223a56d63 100644 --- a/usb/1.0/default/apex/file_contexts +++ b/usb/apex/file_contexts @@ -2,4 +2,4 @@ # Permission XMLs /etc/permissions(/.*)? u:object_r:vendor_configs_file:s0 # binary -/bin/hw/android\.hardware\.usb@1\.0-service u:object_r:hal_usb_default_exec:s0 \ No newline at end of file +/bin/hw/android\.hardware\.usb-service\.example u:object_r:hal_usb_default_exec:s0 \ No newline at end of file diff --git a/usb/apex/manifest.json b/usb/apex/manifest.json new file mode 100644 index 0000000000..1a41b90eaa --- /dev/null +++ b/usb/apex/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "com.android.hardware.usb", + "version": 1 +}