Fix java-client generation of HIDL code

hidl_vec<T> and hidl_string was recently changed to use uint32_t for mSize
field instead of size_t. See ag/1640383
As a result Java clients started to crash because the size of hidl_vec and
hidl_string was reduced to 16 bytes and Java gen code was not adjusted.

Test: our java client is no longer crashing

Change-Id: I506ecd61277e3a4df96a10180c46ea924a42235d
Fix: b/33038659
diff --git a/VectorType.cpp b/VectorType.cpp
index 26eac76..ba4ec6b 100644
--- a/VectorType.cpp
+++ b/VectorType.cpp
@@ -559,9 +559,9 @@
         out.unindent();
 
         out << fieldName << ".clear();\n";
-        out << "long _hidl_vec_size = "
+        out << "int _hidl_vec_size = "
             << blobName
-            << ".getInt64("
+            << ".getInt32("
             << offset
             << " + 8 /* offsetof(hidl_vec<T>, mSize) */);\n";
 
@@ -608,19 +608,19 @@
     out << "{\n";
     out.indent();
 
-    out << "long _hidl_vec_size = "
+    out << "int _hidl_vec_size = "
         << fieldName
         << ".size();\n";
 
     out << blobName
-        << ".putInt64("
+        << ".putInt32("
         << offset
         << " + 8 /* offsetof(hidl_vec<T>, mSize) */, _hidl_vec_size);\n";
 
     out << blobName
         << ".putBool("
         << offset
-        << " + 16 /* offsetof(hidl_vec<T>, mOwnsBuffer) */, false);\n";
+        << " + 12 /* offsetof(hidl_vec<T>, mOwnsBuffer) */, false);\n";
 
     size_t elementAlign, elementSize;
     elementType->getAlignmentAndSize(&elementAlign, &elementSize);
@@ -724,7 +724,7 @@
 
 void VectorType::getAlignmentAndSize(size_t *align, size_t *size) const {
     *align = 8;  // hidl_vec<T>
-    *size = 24;
+    *size = 16;
 }
 
 }  // namespace android