Support IBinder array in the NDK/Rust backends.
IBinder[] in AIDL is mapped to
- vector<SpAIBinder> in NDK
- Vec<SpIBinder>, [&SpIBinder], Vec<Option<SpIBinder>> in Rust (according to the
position)
@nullable IBinder[] in AIDL is mapped to
- optional<vector<optional<SpAIBinder>>> in NDK
- Option<Vec<Option<SpIBinder>>>, Option<&[Option<SpIBinder>]> in Rust
Bug: 151817759
Test: aidl_integration_test, aidl_unittests, golden_test.sh check
Change-Id: I34d0afe9621a95ac9a06487915ee933cccb3d5ed
diff --git a/aidl_unittest.cpp b/aidl_unittest.cpp
index d0a7a64..5e0f473 100644
--- a/aidl_unittest.cpp
+++ b/aidl_unittest.cpp
@@ -4757,8 +4757,8 @@
{"rust_StringArray", "Can only have one dimensional arrays."},
{"cpp_IBinder", ""},
{"java_IBinder", ""},
- {"ndk_IBinder", "The ndk backend does not support array of IBinder"},
- {"rust_IBinder", "The rust backend does not support array of IBinder"},
+ {"ndk_IBinder", ""},
+ {"rust_IBinder", ""},
{"cpp_ParcelFileDescriptor", ""},
{"java_ParcelFileDescriptor", ""},
{"ndk_ParcelFileDescriptor", ""},