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

Commit 1e313592 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Fix FLAG_NOT_FOCUSABLE ime target" into rvc-dev am: adbd87e5 am: 299bf975

Change-Id: Ic9d961f1d5dc83a4dae2d13a63c0c22a5fe738bb
parents 41d0e2a1 299bf975
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -2256,9 +2256,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
            return false;
        }

        if (PixelFormat.formatHasAlpha(mAttrs.format)) {
            // Support legacy use cases where transparent windows can still be ime target with
            // FLAG_NOT_FOCUSABLE and ALT_FOCUSABLE_IM set.
        if (PixelFormat.formatHasAlpha(mAttrs.format) && mAttrs.alpha == 0) {
            // Support legacy use cases where completely transparent windows can still be ime target
            // with FLAG_NOT_FOCUSABLE and ALT_FOCUSABLE_IM set.
            // Certain apps listen for IME insets using transparent windows and ADJUST_NOTHING to
            // manually synchronize app content to IME animation b/144619551.
            // TODO(b/145812508): remove this once new focus management is complete b/141738570
+2 −0
Original line number Diff line number Diff line
@@ -251,9 +251,11 @@ public class WindowStateTests extends WindowTestsBase {

        // b/145812508: special legacy use-case for transparent/translucent windows.
        appWindow.mAttrs.format = PixelFormat.TRANSPARENT;
        appWindow.mAttrs.alpha = 0;
        assertTrue(appWindow.canBeImeTarget());

        appWindow.mAttrs.format = PixelFormat.OPAQUE;
        appWindow.mAttrs.alpha = 1;
        appWindow.mAttrs.flags &= ~FLAG_ALT_FOCUSABLE_IM;
        assertFalse(appWindow.canBeImeTarget());
        appWindow.mAttrs.flags &= ~FLAG_NOT_FOCUSABLE;