Binder: abstract report_sysprop_change to OS layer

Bug: 302723053
Test: mma
Change-Id: Ia479cbf435eeba108cf21e6adddf2d1034174019
diff --git a/libs/binder/Binder.cpp b/libs/binder/Binder.cpp
index 9f091ef..f22e90a 100644
--- a/libs/binder/Binder.cpp
+++ b/libs/binder/Binder.cpp
@@ -40,6 +40,7 @@
 #endif
 
 #include "BuildFlags.h"
+#include "OS.h"
 #include "RpcState.h"
 
 namespace android {
@@ -795,7 +796,7 @@
         }
 
         case SYSPROPS_TRANSACTION: {
-            report_sysprop_change();
+            if (!binder::os::report_sysprop_change()) return INVALID_OPERATION;
             return NO_ERROR;
         }
 
diff --git a/libs/binder/OS.h b/libs/binder/OS.h
index db4b7a5..8dc1f6a 100644
--- a/libs/binder/OS.h
+++ b/libs/binder/OS.h
@@ -43,4 +43,6 @@
 
 uint64_t GetThreadId();
 
+bool report_sysprop_change();
+
 } // namespace android::binder::os
diff --git a/libs/binder/OS_android.cpp b/libs/binder/OS_android.cpp
index 1e1442b..ad458eb 100644
--- a/libs/binder/OS_android.cpp
+++ b/libs/binder/OS_android.cpp
@@ -17,6 +17,7 @@
 #include "OS.h"
 
 #include <android-base/threads.h>
+#include <utils/misc.h>
 
 namespace android::binder::os {
 
@@ -28,4 +29,9 @@
 #endif
 }
 
+bool report_sysprop_change() {
+    android::report_sysprop_change();
+    return true;
+}
+
 } // namespace android::binder::os
diff --git a/libs/binder/trusty/kernel/rules.mk b/libs/binder/trusty/kernel/rules.mk
index f6e894c..1f05ef7 100644
--- a/libs/binder/trusty/kernel/rules.mk
+++ b/libs/binder/trusty/kernel/rules.mk
@@ -31,6 +31,7 @@
 	$(LIBBINDER_DIR)/FdTrigger.cpp \
 	$(LIBBINDER_DIR)/IInterface.cpp \
 	$(LIBBINDER_DIR)/IResultReceiver.cpp \
+	$(LIBBINDER_DIR)/OS_android.cpp \
 	$(LIBBINDER_DIR)/Parcel.cpp \
 	$(LIBBINDER_DIR)/Stability.cpp \
 	$(LIBBINDER_DIR)/Status.cpp \