Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1dc168ad authored by chaviw's avatar chaviw Committed by Chavi Weingarten
Browse files

Add isClone to InputWindowHandle

Add a flag about whether the window is a clone to help identity the
original windows vs clones

Test: Builds
Bug: 230300971
Change-Id: Iac006d73d2e0100b5f8261a30a1dd2ff3f1bae88
parent 5c554e28
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -157,6 +157,11 @@ public final class InputWindowHandle {
     */
    public Matrix transform;

    /**
     * Whether this window is a clone or the original window.
     */
    public boolean isClone;

    private native void nativeDispose();

    public InputWindowHandle(InputApplicationHandle inputApplicationHandle, int displayId) {
+5 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ static struct {
    WeakRefHandleField touchableRegionSurfaceControl;
    jfieldID transform;
    jfieldID windowToken;
    jfieldID isClone;
} gInputWindowHandleClassInfo;

static struct {
@@ -317,6 +318,8 @@ jobject android_view_InputWindowHandle_fromWindowInfo(JNIEnv* env, gui::WindowIn
    env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.windowToken,
                        javaObjectForIBinder(env, windowInfo.windowToken));

    env->SetBooleanField(inputWindowHandle, gInputWindowHandleClassInfo.isClone,
                         windowInfo.isClone);
    return inputWindowHandle;
}

@@ -433,6 +436,8 @@ int register_android_view_InputWindowHandle(JNIEnv* env) {
    GET_FIELD_ID(gInputWindowHandleClassInfo.windowToken, clazz, "windowToken",
                 "Landroid/os/IBinder;");

    GET_FIELD_ID(gInputWindowHandleClassInfo.isClone, clazz, "isClone", "Z");

    jclass weakRefClazz;
    FIND_CLASS(weakRefClazz, "java/lang/ref/Reference");