From b6b00b33934f11ea3e55049f509ebc6c278d0f2a 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 Merged-In: 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 71023bf647c88..e41929c06e291 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 5a34a92a4b1a0..1cb1439f4032e 100644 --- a/core/java/android/view/InputWindowHandle.java +++ b/core/java/android/view/InputWindowHandle.java @@ -20,8 +20,8 @@ import static android.view.Display.INVALID_DISPLAY; 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 463d909821b14..afc44ff808a90 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; @@ -115,9 +118,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)); @@ -159,7 +162,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 7ef9aa983dff0..c0de5d96719a3 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 55b982b406117..cbc32385efa2a 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 b1526c7d91834..a8bd9f2459e2e 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;