From 9d438f974ab5de66f1a64b592c18dc83b53ef8d0 Mon Sep 17 00:00:00 2001 From: chaviw Date: Thu, 20 May 2021 11:18:06 -0500 Subject: [PATCH] Renamed and moved InputWindow and related files In preparation for the hierarchy listener interface, moved the InputWindow structs into libgui and have libinput dependant on libgui. Also renamed InputWindow to exclude Input since it will be used for more generic purposes. Test: Builds and flashes Bug: 188792659 Change-Id: Ib0a32c9920dc8110ceee4d6617ac030eb5cc0d99 --- Android.bp | 1 + core/java/android/view/InputWindowHandle.java | 2 +- core/jni/Android.bp | 2 ++ .../android_hardware_input_InputApplicationHandle.h | 2 +- core/jni/android_hardware_input_InputWindowHandle.cpp | 11 +++++++---- core/jni/android_hardware_input_InputWindowHandle.h | 5 ++--- core/jni/android_view_MotionEvent.cpp | 7 ++++--- core/jni/android_view_SurfaceControl.cpp | 2 ++ services/core/Android.bp | 1 + .../core/java/com/android/server/wm/WindowState.java | 2 +- 10 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Android.bp b/Android.bp index 496736615aabe..e516ac7e27749 100644 --- a/Android.bp +++ b/Android.bp @@ -111,6 +111,7 @@ filegroup { ":framework_native_aidl", ":gatekeeper_aidl", ":gsiservice_aidl", + ":guiconstants_aidl", ":idmap2_aidl", ":idmap2_core_aidl", ":incidentcompanion_aidl", diff --git a/core/java/android/view/InputWindowHandle.java b/core/java/android/view/InputWindowHandle.java index 9aa54dabc93f6..bd97ef0c43f6c 100644 --- a/core/java/android/view/InputWindowHandle.java +++ b/core/java/android/view/InputWindowHandle.java @@ -18,8 +18,8 @@ package android.view; import android.annotation.Nullable; import android.graphics.Region; +import android.gui.TouchOcclusionMode; import android.os.IBinder; -import android.os.TouchOcclusionMode; import java.lang.ref.WeakReference; diff --git a/core/jni/Android.bp b/core/jni/Android.bp index 125182cab2546..958205f7b8cd6 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -230,6 +230,7 @@ cc_library_shared { "libbinderthreadstateutils", "libdmabufinfo", "libgif", + "libgui_window_info_static", "libseccomp_policy", "libgrallocusage", "libscrypt_static", @@ -370,6 +371,7 @@ cc_library_shared { "libinput", "libbinderthreadstateutils", "libsqlite", + "libgui_window_info_static", ], shared_libs: [ // libbinder needs to be shared since it has global state diff --git a/core/jni/android_hardware_input_InputApplicationHandle.h b/core/jni/android_hardware_input_InputApplicationHandle.h index ec99d6da5b8e2..7eb7ac4bc305b 100644 --- a/core/jni/android_hardware_input_InputApplicationHandle.h +++ b/core/jni/android_hardware_input_InputApplicationHandle.h @@ -19,7 +19,7 @@ #include -#include +#include #include #include "jni.h" diff --git a/core/jni/android_hardware_input_InputWindowHandle.cpp b/core/jni/android_hardware_input_InputWindowHandle.cpp index 6283f7fc630a7..3a095621272ac 100644 --- a/core/jni/android_hardware_input_InputWindowHandle.cpp +++ b/core/jni/android_hardware_input_InputWindowHandle.cpp @@ -26,14 +26,17 @@ #include #include +#include #include "android_hardware_input_InputApplicationHandle.h" #include "android_util_Binder.h" #include "core_jni_helpers.h" -#include "input/InputWindow.h" #include "jni.h" namespace android { +using gui::TouchOcclusionMode; +using gui::WindowInfo; + struct WeakRefHandleField { jfieldID ctrl; jmethodID get; @@ -114,9 +117,9 @@ bool NativeInputWindowHandle::updateInfo() { mInfo.name = getStringField(env, obj, gInputWindowHandleClassInfo.name, ""); - mInfo.flags = Flags( + mInfo.flags = Flags( env->GetIntField(obj, gInputWindowHandleClassInfo.layoutParamsFlags)); - mInfo.type = static_cast( + mInfo.type = static_cast( env->GetIntField(obj, gInputWindowHandleClassInfo.layoutParamsType)); mInfo.dispatchingTimeout = std::chrono::milliseconds( env->GetLongField(obj, gInputWindowHandleClassInfo.dispatchingTimeoutMillis)); @@ -158,7 +161,7 @@ bool NativeInputWindowHandle::updateInfo() { mInfo.ownerUid = env->GetIntField(obj, gInputWindowHandleClassInfo.ownerUid); mInfo.packageName = getStringField(env, obj, gInputWindowHandleClassInfo.packageName, ""); - mInfo.inputFeatures = static_cast( + mInfo.inputFeatures = static_cast( env->GetIntField(obj, gInputWindowHandleClassInfo.inputFeatures)); mInfo.displayId = env->GetIntField(obj, gInputWindowHandleClassInfo.displayId); diff --git a/core/jni/android_hardware_input_InputWindowHandle.h b/core/jni/android_hardware_input_InputWindowHandle.h index de5bd6ef97f4f..635480fc5abc3 100644 --- a/core/jni/android_hardware_input_InputWindowHandle.h +++ b/core/jni/android_hardware_input_InputWindowHandle.h @@ -17,14 +17,14 @@ #ifndef _ANDROID_VIEW_INPUT_WINDOW_HANDLE_H #define _ANDROID_VIEW_INPUT_WINDOW_HANDLE_H -#include +#include #include #include "jni.h" namespace android { -class NativeInputWindowHandle : public InputWindowHandle { +class NativeInputWindowHandle : public gui::WindowInfoHandle { public: NativeInputWindowHandle(jweak objWeak); virtual ~NativeInputWindowHandle(); @@ -37,7 +37,6 @@ private: jweak mObjWeak; }; - extern sp android_view_InputWindowHandle_getHandle( JNIEnv* env, jobject inputWindowHandleObj); diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp index a2ca1111b878b..21db198cc2fff 100644 --- a/core/jni/android_view_MotionEvent.cpp +++ b/core/jni/android_view_MotionEvent.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -396,9 +397,9 @@ static jlong android_view_MotionEvent_nativeInitialize( flags, edgeFlags, metaState, buttonState, static_cast(classification), transform, xPrecision, yPrecision, AMOTION_EVENT_INVALID_CURSOR_POSITION, - AMOTION_EVENT_INVALID_CURSOR_POSITION, AMOTION_EVENT_INVALID_DISPLAY_SIZE, - AMOTION_EVENT_INVALID_DISPLAY_SIZE, downTimeNanos, eventTimeNanos, - pointerCount, pointerProperties, rawPointerCoords); + AMOTION_EVENT_INVALID_CURSOR_POSITION, INVALID_DISPLAY_SIZE, + INVALID_DISPLAY_SIZE, downTimeNanos, eventTimeNanos, pointerCount, + pointerProperties, rawPointerCoords); return reinterpret_cast(event.release()); } diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp index f5de46411ff51..455c70e3238c8 100644 --- a/core/jni/android_view_SurfaceControl.cpp +++ b/core/jni/android_view_SurfaceControl.cpp @@ -62,6 +62,8 @@ namespace android { +using gui::FocusRequest; + static void doThrowNPE(JNIEnv* env) { jniThrowNullPointerException(env, NULL); } diff --git a/services/core/Android.bp b/services/core/Android.bp index ec21d455d3b42..282b868a4ecb7 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -107,6 +107,7 @@ java_library_static { ":display-device-config", ":display-layout-config", ":device-state-config", + ":guiconstants_aidl", "java/com/android/server/EventLogTags.logtags", "java/com/android/server/am/EventLogTags.logtags", "java/com/android/server/wm/EventLogTags.logtags", diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 5a4e4d629fdfc..7ce1284d72854 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -203,6 +203,7 @@ import android.graphics.PixelFormat; import android.graphics.Point; import android.graphics.Rect; import android.graphics.Region; +import android.gui.TouchOcclusionMode; import android.os.Binder; import android.os.Build; import android.os.Debug; @@ -212,7 +213,6 @@ import android.os.PowerManager.WakeReason; import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.SystemClock; -import android.os.TouchOcclusionMode; import android.os.Trace; import android.os.WorkSource; import android.provider.Settings;