diff --git a/data/etc/services.core.protolog.json b/data/etc/services.core.protolog.json index 416cab06baafd..c61605cbf6e13 100644 --- a/data/etc/services.core.protolog.json +++ b/data/etc/services.core.protolog.json @@ -2587,12 +2587,6 @@ "group": "WM_DEBUG_ANIM", "at": "com\/android\/server\/wm\/WindowContainer.java" }, - "397105698": { - "message": "grantEmbeddedWindowFocus remove request for win=%s dropped since no candidate was found", - "level": "VERBOSE", - "group": "WM_DEBUG_FOCUS", - "at": "com\/android\/server\/wm\/WindowManagerService.java" - }, "397382873": { "message": "Moving to PAUSED: %s %s", "level": "VERBOSE", @@ -3115,6 +3109,12 @@ "group": "WM_DEBUG_LOCKTASK", "at": "com\/android\/server\/wm\/LockTaskController.java" }, + "958338552": { + "message": "grantEmbeddedWindowFocus win=%s dropped focus so setting focus to null since no candidate was found", + "level": "VERBOSE", + "group": "WM_DEBUG_FOCUS", + "at": "com\/android\/server\/wm\/WindowManagerService.java" + }, "959486822": { "message": "setSyncGroup #%d on %s", "level": "VERBOSE", diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 0bc28034c6d33..973ffbae2b3dd 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8857,16 +8857,18 @@ public class WindowManagerService extends IWindowManager.Stub WindowState newFocusTarget = displayContent == null ? null : displayContent.findFocusedWindow(); if (newFocusTarget == null) { - ProtoLog.v(WM_DEBUG_FOCUS, "grantEmbeddedWindowFocus remove request for " - + "win=%s dropped since no candidate was found", + t.setFocusedWindow(null, null, displayId).apply(); + ProtoLog.v(WM_DEBUG_FOCUS, "grantEmbeddedWindowFocus win=%s" + + " dropped focus so setting focus to null since no candidate" + + " was found", embeddedWindow); return; } - t.requestFocusTransfer(newFocusTarget.mInputChannelToken, newFocusTarget.getName(), - inputToken, embeddedWindow.toString(), + t.setFocusedWindow(newFocusTarget.mInputChannelToken, newFocusTarget.getName(), displayId).apply(); + EventLog.writeEvent(LOGTAG_INPUT_FOCUS, - "Transfer focus request " + newFocusTarget, + "Focus request " + newFocusTarget, "reason=grantEmbeddedWindowFocus(false)"); } ProtoLog.v(WM_DEBUG_FOCUS, "grantEmbeddedWindowFocus win=%s grantFocus=%s",