Build input and binder JNI bindings for linux host.

And add Transform.cpp to libhostgraphics to support this.

Test: m libandroid_runtime
Change-Id: I848b3e1ef79cb3f5cf8477c49eb50d4ed701a4a8
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index 4f97975..661bbed 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -1,4 +1,3 @@
-
 cc_library_shared {
     name: "libandroid_runtime",
     host_supported: true,
@@ -286,8 +285,9 @@
             ],
             include_dirs: [
                 "external/vulkan-headers/include",
+                "frameworks/native/libs/math/include",
                 "frameworks/native/libs/nativebase/include",
-                "frameworks/native/libs/nativewindow/include"
+                "frameworks/native/libs/nativewindow/include",
             ],
             shared_libs: [
                 "libicui18n",
@@ -303,10 +303,36 @@
         linux_glibc: {
             srcs: [
                 "android_content_res_ApkAssets.cpp",
+                "android_hardware_input_InputApplicationHandle.cpp",
                 "android_os_MessageQueue.cpp",
+                "android_os_Parcel.cpp",
+
+                "android_view_KeyCharacterMap.cpp",
+                "android_view_KeyEvent.cpp",
+                "android_view_InputChannel.cpp",
+                "android_view_InputDevice.cpp",
+                "android_view_InputEventReceiver.cpp",
+                "android_view_InputEventSender.cpp",
+                "android_view_MotionEvent.cpp",
+                "android_view_VelocityTracker.cpp",
+                "android_view_VerifiedKeyEvent.cpp",
+                "android_view_VerifiedMotionEvent.cpp",
+
                 "android_util_AssetManager.cpp",
+                "android_util_Binder.cpp",
+
                 "android_util_FileObserver.cpp",
             ],
+            static_libs: [
+                "libinput",
+                "libbinderthreadstateutils",
+            ],
+            shared_libs: [
+                // libbinder needs to be shared since it has global state
+		// (e.g. gDefaultServiceManager)
+                "libbinder",
+                "libhidlbase", // libhwbinder is in here
+            ],
         },
         windows: {
             enabled: true,
diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp
index 32b8fa6..a3cb4c0 100644
--- a/core/jni/android_util_Binder.cpp
+++ b/core/jni/android_util_Binder.cpp
@@ -40,6 +40,7 @@
 #include <binder/Stability.h>
 #include <binderthreadstate/CallerUtils.h>
 #include <cutils/atomic.h>
+#include <cutils/threads.h>
 #include <log/log.h>
 #include <utils/KeyedVector.h>
 #include <utils/List.h>
diff --git a/libs/hostgraphics/Android.bp b/libs/hostgraphics/Android.bp
index 9d83e49..3a99d41 100644
--- a/libs/hostgraphics/Android.bp
+++ b/libs/hostgraphics/Android.bp
@@ -7,6 +7,8 @@
 
     static_libs: [
         "libbase",
+        "libmath",
+        "libutils",
     ],
 
     srcs: [
@@ -24,6 +26,7 @@
         "frameworks/native/libs/nativebase/include",
         "frameworks/native/libs/nativewindow/include",
         "frameworks/native/libs/arect/include",
+        "frameworks/native/libs/ui/include_private",
     ],
     export_include_dirs: ["."],
 
diff --git a/tools/validatekeymaps/Android.bp b/tools/validatekeymaps/Android.bp
index 61ce44c..2759e29 100644
--- a/tools/validatekeymaps/Android.bp
+++ b/tools/validatekeymaps/Android.bp
@@ -16,6 +16,7 @@
 
     static_libs: [
         "libbase",
+        "libbinder",
         "libinput",
         "libutils",
         "libcutils",