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;