diff --git a/Android.mk b/Android.mk index 88a5b66670fac..122c597fc9bcf 100644 --- a/Android.mk +++ b/Android.mk @@ -610,6 +610,32 @@ $(framework_module): | $(dir $(framework_module))framework-res.apk 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 866e20c26a0c6..270e63f408a77 100644 --- a/core/java/android/os/HwBinder.java +++ b/core/java/android/os/HwBinder.java @@ -71,4 +71,13 @@ public abstract class HwBinder implements IHwBinder { } 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 1b14d2828702c..59ca050a23e17 100644 --- a/core/jni/android_os_HwBinder.cpp +++ b/core/jni/android_os_HwBinder.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include "core_jni_helpers.h" @@ -405,6 +406,11 @@ void JHwBinder_native_joinRpcThreadpool() { 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 @@ static JNINativeMethod gMethods[] = { { "joinRpcThreadpool", "()V", (void *)JHwBinder_native_joinRpcThreadpool }, + + { "native_report_sysprop_change", "()V", + (void *)JHwBinder_report_sysprop_change }, }; namespace android {