Merge "Add test for NoSuchElementException in java test."
diff --git a/c2hal/test/test.h b/c2hal/test/test.h
index e53e296..b1a0058 100644
--- a/c2hal/test/test.h
+++ b/c2hal/test/test.h
@@ -273,7 +273,7 @@
int (*store_meta_data_in_buffers)(struct camera_device *, int enable);
- typedef void (*scan_result_callback)(bt_bdaddr_t* bda, int rssi, vector<uint8_t> adv_data);
+ typedef void (*scan_result_callback)(FooFooBarFoo* bda, int rssi, vector<uint8_t> adv_data);
pthread_t (* gps_create_thread)(const char* name, void (*start)(void *), void* arg);
diff --git a/generateCpp.cpp b/generateCpp.cpp
index 19fa039..2ff1c51 100644
--- a/generateCpp.cpp
+++ b/generateCpp.cpp
@@ -226,11 +226,15 @@
out << "#ifdef __ANDROID_TREBLE__\n\n"
<< "#ifdef __ANDROID_DEBUGGABLE__\n"
<< "const char* env = std::getenv(\"TREBLE_TESTING_OVERRIDE\");\n"
- << "const bool vintfLegacy = (transport == Transport::EMPTY) && env && !strcmp(env, \"true\");\n"
+ << "const bool trebleTestingOverride = env && !strcmp(env, \"true\");\n"
+ << "const bool vintfLegacy = (transport == Transport::EMPTY) && trebleTestingOverride;\n"
<< "#else // __ANDROID_TREBLE__ but not __ANDROID_DEBUGGABLE__\n"
+ << "const bool trebleTestingOverride = false;\n"
<< "const bool vintfLegacy = false;\n"
<< "#endif // __ANDROID_DEBUGGABLE__\n\n"
<< "#else // not __ANDROID_TREBLE__\n"
+ << "const char* env = std::getenv(\"TREBLE_TESTING_OVERRIDE\");\n"
+ << "const bool trebleTestingOverride = env && !strcmp(env, \"true\");\n"
<< "const bool vintfLegacy = (transport == Transport::EMPTY);\n\n"
<< "#endif // __ANDROID_TREBLE__\n\n";
@@ -329,8 +333,10 @@
out << "sp<" << gIBaseFqName.cppName()
<< "> baseInterface = ret;\n";
out.sIf("baseInterface != nullptr", [&]() {
- out << "iface = new " << fqName.getInterfacePassthroughName()
- << "(" << interfaceName << "::castFrom(baseInterface));\n";
+ out << "iface = " << interfaceName << "::castFrom(baseInterface);\n";
+ out.sIf("!getStub || trebleTestingOverride", [&] () {
+ out << "iface = new " << fqName.getInterfacePassthroughName() << "(iface);\n";
+ }).endl();
}).endl();
}).endl();
}).endl();