Integration test for parcelables
This test demonstrates the equivalence of C++ and Java parcelable
handling from an AIDL/libbinder perspective.
Bug: 23600712
Test: These integration tests pass.
Change-Id: I49d9d9bd1baaa1c2c49b6d02a5bfeefc0a53612c
diff --git a/tests/aidl_test_service.cpp b/tests/aidl_test_service.cpp
index 5c3d672..2d4487a 100644
--- a/tests/aidl_test_service.cpp
+++ b/tests/aidl_test_service.cpp
@@ -58,6 +58,7 @@
using android::aidl::tests::BnTestService;
using android::aidl::tests::BnNamedCallback;
using android::aidl::tests::INamedCallback;
+using android::aidl::tests::SimpleParcelable;
// Standard library
using std::map;
@@ -177,6 +178,15 @@
return Status::ok();
}
+ Status RepeatParcelable(const SimpleParcelable& input,
+ SimpleParcelable* repeat,
+ SimpleParcelable* _aidl_return) override {
+ ALOGI("Repeated a SimpleParcelable %s", input.toString().c_str());
+ *repeat = input;
+ *_aidl_return = input;
+ return Status::ok();
+ }
+
template<typename T>
Status ReverseArray(const vector<T>& input,
vector<T>* repeated,
@@ -228,6 +238,11 @@
vector<String16>* _aidl_return) override {
return ReverseArray(input, repeated, _aidl_return);
}
+ Status ReverseParcelables(const vector<SimpleParcelable>& input,
+ vector<SimpleParcelable>* repeated,
+ vector<SimpleParcelable>* _aidl_return) override {
+ return ReverseArray(input, repeated, _aidl_return);
+ }
Status GetOtherTestService(const String16& name,
sp<INamedCallback>* returned_service) override {