Merge "Suppress misc-macro-parentheses warnings in system/libhidl."
diff --git a/base/HidlInternal.cpp b/base/HidlInternal.cpp
index 3bb27f8..843fcad 100644
--- a/base/HidlInternal.cpp
+++ b/base/HidlInternal.cpp
@@ -25,13 +25,16 @@
 #include <dirent.h>
 #include <dlfcn.h>
 #include <regex>
+#include <utils/misc.h>
+
+extern "C" __attribute__((weak)) void __sanitizer_cov_dump();
 #endif
 
 namespace android {
 namespace hardware {
 namespace details {
 
-void logAlwaysFatal(const char *message) {
+void logAlwaysFatal(const char* message) {
     LOG(FATAL) << message;
 }
 
@@ -42,9 +45,21 @@
         const std::string &interface)
         : mInstrumentationLibPackage(package), mInterfaceName(interface) {
     configureInstrumentation(false);
+#ifdef LIBHIDL_TARGET_DEBUGGABLE
+    if (__sanitizer_cov_dump != nullptr) {
+        ::android::add_sysprop_change_callback(
+            []() {
+                bool enableCoverage = property_get_bool("hal.coverage.enable", false);
+                if (enableCoverage) {
+                    __sanitizer_cov_dump();
+                }
+            },
+            0);
+    }
+#endif
 }
 
-HidlInstrumentor:: ~HidlInstrumentor() {}
+HidlInstrumentor::~HidlInstrumentor() {}
 
 void HidlInstrumentor::configureInstrumentation(bool log) {
     bool enable_instrumentation = property_get_bool(
diff --git a/transport/base/1.0/Android.mk b/transport/base/1.0/Android.mk
index 2031a92..a044b9b 100644
--- a/transport/base/1.0/Android.mk
+++ b/transport/base/1.0/Android.mk
@@ -11,6 +11,8 @@
 intermediates := $(call local-generated-sources-dir, COMMON)
 
 HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj hwbinder
 
 #
 # Build types.hal (DebugInfo)
@@ -61,6 +63,8 @@
 intermediates := $(call local-generated-sources-dir, COMMON)
 
 HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj hwbinder
 
 #
 # Build types.hal (DebugInfo)
diff --git a/transport/manager/1.0/Android.mk b/transport/manager/1.0/Android.mk
index 8b20827..50ddee6 100644
--- a/transport/manager/1.0/Android.mk
+++ b/transport/manager/1.0/Android.mk
@@ -15,6 +15,8 @@
 LOCAL_JAVA_LIBRARIES := \
     android.hidl.base-V1.0-java \
 
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES += core-oj hwbinder
 
 #
 # Build IServiceManager.hal
@@ -69,6 +71,8 @@
 LOCAL_STATIC_JAVA_LIBRARIES := \
     android.hidl.base-V1.0-java-static \
 
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj hwbinder
 
 #
 # Build IServiceManager.hal
diff --git a/transport/manager/1.1/Android.mk b/transport/manager/1.1/Android.mk
index 20c9504..ae8dc70 100644
--- a/transport/manager/1.1/Android.mk
+++ b/transport/manager/1.1/Android.mk
@@ -16,6 +16,8 @@
     android.hidl.base-V1.0-java \
     android.hidl.manager-V1.0-java \
 
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES += core-oj hwbinder
 
 #
 # Build IServiceManager.hal
@@ -51,6 +53,8 @@
     android.hidl.base-V1.0-java-static \
     android.hidl.manager-V1.0-java-static \
 
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj hwbinder
 
 #
 # Build IServiceManager.hal
diff --git a/transport/token/1.0/Android.mk b/transport/token/1.0/Android.mk
index ea86d57..c355c12 100644
--- a/transport/token/1.0/Android.mk
+++ b/transport/token/1.0/Android.mk
@@ -15,6 +15,8 @@
 LOCAL_JAVA_LIBRARIES := \
     android.hidl.base-V1.0-java \
 
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES += core-oj hwbinder
 
 #
 # Build ITokenManager.hal
@@ -49,6 +51,8 @@
 LOCAL_STATIC_JAVA_LIBRARIES := \
     android.hidl.base-V1.0-java-static \
 
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj hwbinder
 
 #
 # Build ITokenManager.hal