Snap for 9550355 from ba5e84ec264fc3403afedf352cd83cc9d16860bf to sdk-release
Change-Id: I94f31371284ec6d5a67f24f9bdbe00b91086cfc1
diff --git a/CompoundType.cpp b/CompoundType.cpp
index aa12c10..8b26df6 100644
--- a/CompoundType.cpp
+++ b/CompoundType.cpp
@@ -1751,7 +1751,7 @@
}
out.unindent();
- out << "};\n\n";
+ out << "}\n\n";
}
void CompoundType::emitStructReaderWriter(
diff --git a/Interface.cpp b/Interface.cpp
index 9be88e9..e9950d2 100644
--- a/Interface.cpp
+++ b/Interface.cpp
@@ -307,9 +307,15 @@
} } }, /* cppImpl */
{ { IMPL_INTERFACE, [this, digestType, chainType](auto &out) {
std::vector<const Interface *> chain = typeChain();
- out << "return new "
- << chainType->getJavaType(false /* forInitializer */)
- << "(java.util.Arrays.asList(\n";
+ out << "return new " << chainType->getJavaType(false /* forInitializer */);
+ if (chain.size() == 1) {
+ // https://errorprone.info/bugpattern/ArraysAsListPrimitiveArray
+ // To avoid an ArraysAsListPrimitiveArray errorprone error, use
+ // singletonList when there's only 1 element in the chain.
+ out << "(java.util.Collections.singletonList(\n";
+ } else {
+ out << "(java.util.Arrays.asList(\n";
+ }
out.indent(2, [&] {
// No need for dimensions when elements are explicitly provided.
emitDigestChain(out, "new " + digestType->getJavaType(false /* forInitializer */),
diff --git a/build/hidl_interface.go b/build/hidl_interface.go
index e90b275..500a3bb 100644
--- a/build/hidl_interface.go
+++ b/build/hidl_interface.go
@@ -993,11 +993,15 @@
"android.hardware.camera.device@3.5": true,
"android.hardware.camera.device@3.6": true,
"android.hardware.camera.device@3.7": true,
+ "android.hardware.camera.device@3.8": true,
"android.hardware.camera.metadata@3.2": true,
"android.hardware.camera.metadata@3.3": true,
"android.hardware.camera.metadata@3.4": true,
"android.hardware.camera.metadata@3.5": true,
"android.hardware.camera.metadata@3.6": true,
+ // TODO: Remove metadata@3.8 after AIDL migration b/196432585
+ "android.hardware.camera.metadata@3.7": true,
+ "android.hardware.camera.metadata@3.8": true,
"android.hardware.camera.provider@2.4": true,
"android.hardware.camera.provider@2.5": true,
"android.hardware.camera.provider@2.6": true,
diff --git a/hidl2aidl/main.cpp b/hidl2aidl/main.cpp
index 5d48860..297b411 100644
--- a/hidl2aidl/main.cpp
+++ b/hidl2aidl/main.cpp
@@ -220,6 +220,8 @@
out << "aidl_interface {\n";
out << " name: \"" << AidlHelper::getAidlPackage(fqName) << "\",\n";
out << " vendor_available: true,\n";
+ out << " host_supported: true,\n";
+ out << " frozen: false,\n";
out << " srcs: [\"" << AidlHelper::getAidlPackagePath(fqName) << "/*.aidl\"],\n";
out << " stability: \"vintf\",\n";
out << " backend: {\n";
@@ -231,12 +233,7 @@
out << " enabled: true,\n";
out << " },\n";
out << " java: {\n";
- out << " sdk_version: \"module_current\",\n";
- out << " },\n";
- out << " ndk: {\n";
- out << " vndk: {\n";
- out << " enabled: true,\n";
- out << " },\n";
+ out << " sdk_version: \"system_current\",\n";
out << " },\n";
out << " },\n";
out << "}\n\n";
@@ -265,7 +262,7 @@
emitAidlSharedLibs(out, fqName, AidlBackend::JAVA);
emitHidlSharedLibs(out, targets, AidlBackend::JAVA);
out << " ],\n";
- out << " sdk_version: \"module_current\",\n";
+ out << " sdk_version: \"system_current\",\n";
out << "}\n\n";
}
diff --git a/hidl2aidl/test/Android.bp b/hidl2aidl/test/Android.bp
index d780c9a..408baef 100644
--- a/hidl2aidl/test/Android.bp
+++ b/hidl2aidl/test/Android.bp
@@ -128,7 +128,7 @@
srcs: [":hidl2aidl_test_gen_aidl"],
backend: {
java: {
- sdk_version: "module_current",
+ sdk_version: "system_current",
},
},
flags: [
diff --git a/test/hidl_test/hidl_test.py b/test/hidl_test/hidl_test.py
index 1a58e5d..802ddeb 100644
--- a/test/hidl_test/hidl_test.py
+++ b/test/hidl_test/hidl_test.py
@@ -49,12 +49,12 @@
servers = []
if has_bitness(32):
- clients += ["/data/nativetest/hidl_test_client/hidl_test_client"]
- servers += ["/data/nativetest/hidl_test_servers/hidl_test_servers"]
+ clients += ["/data/nativetest/hidl_test_client/hidl_test_client32"]
+ servers += ["/data/nativetest/hidl_test_servers/hidl_test_servers32"]
if has_bitness(64):
- clients += ["/data/nativetest64/hidl_test_client/hidl_test_client"]
- servers += ["/data/nativetest64/hidl_test_servers/hidl_test_servers"]
+ clients += ["/data/nativetest64/hidl_test_client/hidl_test_client64"]
+ servers += ["/data/nativetest64/hidl_test_servers/hidl_test_servers64"]
assert len(clients) > 0
assert len(servers) > 0
diff --git a/test/hidl_test/hidl_test.xml b/test/hidl_test/hidl_test.xml
index 586adc4..778b63f 100644
--- a/test/hidl_test/hidl_test.xml
+++ b/test/hidl_test/hidl_test.xml
@@ -23,11 +23,11 @@
<!-- We would like to abort, but currently there is not a simple way to specify installation of both bitnesses of targets. -->
<option name="abort-on-push-failure" value="false"/>
- <option name="push" value="hidl_test_client32->/data/nativetest/hidl_test_client/hidl_test_client" />
- <option name="push" value="hidl_test_client64->/data/nativetest64/hidl_test_client/hidl_test_client" />
+ <option name="push" value="hidl_test_client32->/data/nativetest/hidl_test_client/hidl_test_client32" />
+ <option name="push" value="hidl_test_client64->/data/nativetest64/hidl_test_client/hidl_test_client64" />
- <option name="push" value="hidl_test_servers32->/data/nativetest/hidl_test_servers/hidl_test_servers" />
- <option name="push" value="hidl_test_servers64->/data/nativetest64/hidl_test_servers/hidl_test_servers" />
+ <option name="push" value="hidl_test_servers32->/data/nativetest/hidl_test_servers/hidl_test_servers32" />
+ <option name="push" value="hidl_test_servers64->/data/nativetest64/hidl_test_servers/hidl_test_servers64" />
<option name="cleanup" value="true" />
</target_preparer>
diff --git a/test/hidl_test/hidl_test_client.cpp b/test/hidl_test/hidl_test_client.cpp
index eff40a5..d82dab6 100644
--- a/test/hidl_test/hidl_test_client.cpp
+++ b/test/hidl_test/hidl_test_client.cpp
@@ -960,41 +960,45 @@
const uint64_t kBatchSize = 2;
hidl_vec<hidl_memory> batchCopy;
- EXPECT_OK(ashmemAllocator->batchAllocate(1024, kBatchSize,
- [&](bool success, const hidl_vec<hidl_memory>& batch) {
- ASSERT_TRUE(success);
- EXPECT_EQ(kBatchSize, batch.size());
+ ASSERT_TRUE(ashmemAllocator
+ ->batchAllocate(1024, kBatchSize,
+ [&](bool success, const hidl_vec<hidl_memory>& batch) {
+ ASSERT_TRUE(success);
+ EXPECT_EQ(kBatchSize, batch.size());
- for (uint64_t i = 0; i < batch.size(); i++) {
- sp<IMemory> memory = mapMemory(batch[i]);
+ for (uint64_t i = 0; i < batch.size(); i++) {
+ sp<IMemory> memory = mapMemory(batch[i]);
- EXPECT_NE(nullptr, memory.get());
+ EXPECT_NE(nullptr, memory.get());
- uint8_t* data = static_cast<uint8_t*>(static_cast<void*>(memory->getPointer()));
- EXPECT_NE(nullptr, data);
+ uint8_t* data = static_cast<uint8_t*>(
+ static_cast<void*>(memory->getPointer()));
+ EXPECT_NE(nullptr, data);
- EXPECT_EQ(memory->getSize(), batch[i].size());
+ EXPECT_EQ(memory->getSize(), batch[i].size());
- memory->update();
- memset(data, kValue, memory->getSize());
- memory->commit();
- }
+ memory->update();
+ memset(data, kValue, memory->getSize());
+ memory->commit();
+ }
- batchCopy = batch;
- }));
+ batchCopy = batch;
+ })
+ .isOk());
for (uint64_t i = 0; i < batchCopy.size(); i++) {
// Test the memory persists after the call
sp<IMemory> memory = mapMemory(batchCopy[i]);
- EXPECT_NE(memory, nullptr);
+ ASSERT_NE(memory, nullptr);
uint8_t* data = static_cast<uint8_t*>(static_cast<void*>(memory->getPointer()));
- EXPECT_NE(data, nullptr);
+ ASSERT_NE(data, nullptr);
memory->read();
- for (size_t i = 0; i < batchCopy[i].size(); i++) {
- EXPECT_EQ(kValue, data[i]);
+
+ for (size_t k = 0; k < batchCopy[i].size(); k++) {
+ EXPECT_EQ(kValue, data[k]);
}
memory->commit();
}
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 a0311fe..47adad8 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
@@ -930,8 +930,7 @@
ExpectTrue(java.util.Objects.deepEquals(outArray, expectedOutArray));
ArrayList<Integer> outVec = proxy.mapThisVector(paramVec);
- java.util.Objects.equals(outVec, expectedOutVec);
-
+ ExpectTrue(java.util.Objects.equals(outVec, expectedOutVec));
}
Expect(proxy.doStuffAndReturnAString(), "Hello, world!");
@@ -1273,7 +1272,7 @@
}
public IBase.Foo[] someMethodWithFooArrays(IBase.Foo[] fooInput) {
- Log.d(TAG, "Baz someMethodWithFooArrays " + fooInput.toString());
+ Log.d(TAG, "Baz someMethodWithFooArrays " + Arrays.toString(fooInput));
IBase.Foo[] fooOutput = new IBase.Foo[2];
fooOutput[0] = fooInput[1];
@@ -1333,7 +1332,7 @@
}
public String[][] transpose2(String[][] in) {
- Log.d(TAG, "Baz transpose2 " + in.toString());
+ Log.d(TAG, "Baz transpose2 " + Arrays.deepToString(in));
String[][] out = new String[3][5];
for (int i = 0; i < 3; ++i) {
@@ -1352,8 +1351,7 @@
}
public boolean[] someBoolArrayMethod(boolean[] x) {
- Log.d(TAG, "Baz someBoolArrayMethod("
- + x.toString() + ")");
+ Log.d(TAG, "Baz someBoolArrayMethod(" + Arrays.toString(x) + ")");
boolean[] out = new boolean[4];
out[0] = !x[0];
@@ -1390,7 +1388,7 @@
}
public int[] doSomethingElse(int[] param) {
- Log.d(TAG, "Baz doSomethingElse " + param.toString());
+ Log.d(TAG, "Baz doSomethingElse " + Arrays.toString(param));
int[] something = new int[32];
for (int i = 0; i < 15; ++i) {
@@ -1422,8 +1420,7 @@
public void takeAMask(byte bf, byte first, IBase.MyMask second, byte third,
takeAMaskCallback cb) {
- cb.onValues(bf, (byte)(bf | first),
- (byte)(second.value & bf), (byte)((bf | bf) & third));
+ cb.onValues(bf, (byte) (bf | first), (byte) (second.value & bf), (byte) (bf & third));
}
public LotsOfPrimitiveArrays testArrays(LotsOfPrimitiveArrays in) {
@@ -1566,7 +1563,7 @@
@Override
public LargeSafeUnion setE(LargeSafeUnion safeUnion, byte[/* 13 */] e) {
- Log.d(TAG, "SERVER: setE(" + e + ")");
+ Log.d(TAG, "SERVER: setE(" + Arrays.toString(e) + ")");
safeUnion.e(e);
return safeUnion;
@@ -1574,7 +1571,7 @@
@Override
public LargeSafeUnion setF(LargeSafeUnion safeUnion, long[/* 5 */] f) {
- Log.d(TAG, "SERVER: setF(" + f + ")");
+ Log.d(TAG, "SERVER: setF(" + Arrays.toString(f) + ")");
safeUnion.f(f);
return safeUnion;
@@ -1661,7 +1658,7 @@
@Override
public InterfaceTypeSafeUnion setInterfaceB(
InterfaceTypeSafeUnion safeUnion, byte[/* 7 */] b) {
- Log.d(TAG, "SERVER: setInterfaceB(" + b + ")");
+ Log.d(TAG, "SERVER: setInterfaceB(" + Arrays.toString(b) + ")");
safeUnion.b(b);
return safeUnion;
@@ -1727,7 +1724,7 @@
@Override
public HandleTypeSafeUnion setHandleB(HandleTypeSafeUnion safeUnion, NativeHandle[] b) {
- Log.d(TAG, "SERVER: setHandleB(" + b + ")");
+ Log.d(TAG, "SERVER: setHandleB(" + Arrays.toString(b) + ")");
safeUnion.b(b);
return safeUnion;
diff --git a/test/lazy_test/hidl_lazy_test.cpp b/test/lazy_test/hidl_lazy_test.cpp
index 6bbb161..4f27463 100644
--- a/test/lazy_test/hidl_lazy_test.cpp
+++ b/test/lazy_test/hidl_lazy_test.cpp
@@ -179,6 +179,10 @@
FqInstance fqInstance;
ASSERT_TRUE(fqInstance.setTo(fqInstanceName));
+ // b/251244025 - this service logic is coupled with this test, but other
+ // things may have started it
+ (void)android::base::SetProperty("ctl.stop", "hidl_lazy_cb_test_server");
+
ASSERT_FALSE(isServiceRunning(fqInstance)) << "Lazy service already running.";
sp<IBase> hal = getHal(fqInstance);
diff --git a/utils/Android.bp b/utils/Android.bp
index a0ba8b9..ef69803 100644
--- a/utils/Android.bp
+++ b/utils/Android.bp
@@ -25,6 +25,7 @@
name: "libhidl-gen-utils",
host_supported: true,
product_available: true,
+ vendor_available: true,
recovery_available: true,
defaults: ["hidl-gen-defaults"],
srcs: [