Add surface_control_input_receiver native API

Bug: 324271765
Test: ASurfaceControlInputReceiverTest
Change-Id: Ia85a07af09878846c681e552c1f8471652f932fc
diff --git a/native/android/input_transfer_token.cpp b/native/android/input_transfer_token.cpp
index 501e1d3..2e74aa3 100644
--- a/native/android/input_transfer_token.cpp
+++ b/native/android/input_transfer_token.cpp
@@ -25,7 +25,7 @@
 #define CHECK_NOT_NULL(name) \
     LOG_ALWAYS_FATAL_IF(name == nullptr, "nullptr passed as " #name " argument");
 
-void InputTransferToken_acquire(InputTransferToken* inputTransferToken) {
+extern void InputTransferToken_acquire(InputTransferToken* inputTransferToken) {
     // incStrong/decStrong token must be the same, doesn't matter what it is
     inputTransferToken->incStrong((void*)InputTransferToken_acquire);
 }
@@ -52,7 +52,7 @@
     CHECK_NOT_NULL(aInputTransferToken);
     const InputTransferToken* inputTransferToken =
             reinterpret_cast<const InputTransferToken*>(aInputTransferToken);
-    return android_window_InputTransferToken_getJavaInputTransferToken(env, inputTransferToken);
+    return android_window_InputTransferToken_getJavaInputTransferToken(env, *inputTransferToken);
 }
 
 void AInputTransferToken_release(AInputTransferToken* aInputTransferToken) {