Merge "Merge "Add hwbinder library" am: 49e2a9a612 am: 811027ede7 am: 2785be7572" into oc-dr1-dev-plus-aosp
am: a4fb234a4c
Change-Id: I026ca8c33ef2fce7d40e2daec8db970d6b578f25
diff --git a/Android.mk b/Android.mk
index 2b16c02..1e9adcb 100644
--- a/Android.mk
+++ b/Android.mk
@@ -638,6 +638,32 @@
framework_built := $(call java-lib-deps,framework)
+# HwBinder
+# =======================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+ core/java/android/os/HidlSupport.java \
+ core/java/android/annotation/NonNull.java \
+ core/java/android/os/HwBinder.java \
+ core/java/android/os/HwBlob.java \
+ core/java/android/os/HwParcel.java \
+ core/java/android/os/IHwBinder.java \
+ core/java/android/os/IHwInterface.java \
+ core/java/android/os/DeadObjectException.java \
+ core/java/android/os/DeadSystemException.java \
+ core/java/android/os/RemoteException.java \
+ core/java/android/util/AndroidException.java \
+
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj core-libart
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE := hwbinder
+
+LOCAL_DX_FLAGS := --core-library
+LOCAL_UNINSTALLABLE_MODULE := true
+include $(BUILD_JAVA_LIBRARY)
+
# Copy AIDL files to be preprocessed and included in the SDK,
# specified relative to the root of the build tree.
# ============================================================
diff --git a/core/java/android/os/HwBinder.java b/core/java/android/os/HwBinder.java
index 866e20c..270e63f 100644
--- a/core/java/android/os/HwBinder.java
+++ b/core/java/android/os/HwBinder.java
@@ -71,4 +71,13 @@
}
private long mNativeContext;
+
+ private static native void native_report_sysprop_change();
+
+ /**
+ * Notifies listeners that a system property has changed
+ */
+ public static void reportSyspropChanged() {
+ native_report_sysprop_change();
+ }
}
diff --git a/core/jni/android_os_HwBinder.cpp b/core/jni/android_os_HwBinder.cpp
index 1b14d282..59ca050 100644
--- a/core/jni/android_os_HwBinder.cpp
+++ b/core/jni/android_os_HwBinder.cpp
@@ -36,6 +36,7 @@
#include <hwbinder/ProcessState.h>
#include <nativehelper/ScopedLocalRef.h>
#include <vintf/parse_string.h>
+#include <utils/misc.h>
#include "core_jni_helpers.h"
@@ -405,6 +406,11 @@
IPCThreadState::self()->joinThreadPool();
}
+static void JHwBinder_report_sysprop_change(JNIEnv /**env*/, jobject /*clazz*/)
+{
+ report_sysprop_change();
+}
+
static JNINativeMethod gMethods[] = {
{ "native_init", "()J", (void *)JHwBinder_native_init },
{ "native_setup", "()V", (void *)JHwBinder_native_setup },
@@ -424,6 +430,9 @@
{ "joinRpcThreadpool", "()V",
(void *)JHwBinder_native_joinRpcThreadpool },
+
+ { "native_report_sysprop_change", "()V",
+ (void *)JHwBinder_report_sysprop_change },
};
namespace android {