HIDL vectors are now exposed as ArrayLists rather than Vectors in Java.
Bug: 31749239
Test: hidl_test, hidl_test_java
Change-Id: I4dd705ac7962195e3107a67bd62e0c9154339e5b
diff --git a/CompoundType.cpp b/CompoundType.cpp
index 9a3457e..8c1a131 100644
--- a/CompoundType.cpp
+++ b/CompoundType.cpp
@@ -348,9 +348,9 @@
<< "[] readVectorFromParcel(HwParcel parcel) {\n";
out.indent();
- out << "Vector<"
+ out << "ArrayList<"
<< localName()
- << "> _hidl_vec = new Vector();\n";
+ << "> _hidl_vec = new ArrayList();\n";
out << "HwBlob _hidl_blob = parcel.readBuffer();\n\n";
@@ -432,9 +432,9 @@
<< "[] _hidl_array) {\n";
out.unindent();
- out << "Vector<"
+ out << "ArrayList<"
<< localName()
- << "> _hidl_vec = new Vector(Arrays.asList(_hidl_array));\n";
+ << "> _hidl_vec = new ArrayList(Arrays.asList(_hidl_array));\n";
out << "HwBlob _hidl_blob = new HwBlob(24 /* sizeof(hidl_vec<T>) */);\n";
diff --git a/VectorType.cpp b/VectorType.cpp
index 04a6ac3..adf7967 100644
--- a/VectorType.cpp
+++ b/VectorType.cpp
@@ -248,12 +248,12 @@
const std::string wrapperType = mElementType->getJavaWrapperType();
- out << "final Vector<"
+ out << "final ArrayList<"
<< wrapperType
<< extra
<< "> "
<< fieldName
- << " = new Vector<"
+ << " = new ArrayList<"
<< wrapperType
<< extra
<< ">();\n";
@@ -405,7 +405,7 @@
depth + 1,
parcelName,
"childBlob",
- fieldName + ".elementAt(" + iteratorName + ")",
+ fieldName + ".get(" + iteratorName + ")",
iteratorName + " * " + std::to_string(elementSize),
false /* isReader */);
diff --git a/generateJava.cpp b/generateJava.cpp
index b6d1d0d..feb2158 100644
--- a/generateJava.cpp
+++ b/generateJava.cpp
@@ -84,7 +84,7 @@
out << "import android.os.HwParcel;\n\n";
out << "import java.util.Arrays;\n";
- out << "import java.util.Vector;\n\n";
+ out << "import java.util.ArrayList;\n\n";
for (const auto &item : mImportedNamesForJava) {
out << "import " << item.javaName() << ";\n";
@@ -151,7 +151,7 @@
out << "import android.os.HwParcel;\n\n";
out << "import java.util.Arrays;\n";
- out << "import java.util.Vector;\n\n";
+ out << "import java.util.ArrayList;\n\n";
for (const auto &item : mImportedNamesForJava) {
out << "import " << item.javaName() << ";\n";
diff --git a/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java b/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java
index 0a09447..17bef99 100644
--- a/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java
+++ b/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java
@@ -22,7 +22,7 @@
import android.os.HwBinder;
import android.util.Log;
-import java.util.Vector;
+import java.util.ArrayList;
public final class HidlTestJava {
private static final String TAG = "HidlTestJava";
@@ -79,14 +79,14 @@
return builder.toString();
}
- public static String toString(Vector<IBase.Foo.Bar> vec) {
+ public static String toString(ArrayList<IBase.Foo.Bar> vec) {
StringBuilder builder = new StringBuilder();
builder.append("[");
for (int i = 0; i < vec.size(); ++i) {
if (i > 0) {
builder.append(", ");
}
- builder.append(toString(vec.elementAt(i)));
+ builder.append(toString(vec.get(i)));
}
builder.append("]");
@@ -211,7 +211,7 @@
out.append(", ");
}
- Byte[] address = vec.addresses.elementAt(i);
+ Byte[] address = vec.addresses.get(i);
for (int j = 0; j < 6; ++j) {
if (j > 0) {
@@ -611,7 +611,7 @@
IBase.VectorOfArray out = new IBase.VectorOfArray();
int n = in.addresses.size();
for (int i = 0; i < n; ++i) {
- out.addresses.add(in.addresses.elementAt(n - i - 1));
+ out.addresses.add(in.addresses.get(n - i - 1));
}
return out;