From 79c148627c0a4be508fb3272010cb43f13a62433 Mon Sep 17 00:00:00 2001 From: Prabir Pradhan Date: Mon, 4 Apr 2022 19:41:45 +0000 Subject: [PATCH] Do not show mouse cursor on displays that are off Bug: 228085350 Test: manual: cursor shows on foldable with mouse connected Change-Id: Id64ba2239781c6b9790b2380753869d83fc8f008 --- .../core/java/com/android/server/wm/InputManagerCallback.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/wm/InputManagerCallback.java b/services/core/java/com/android/server/wm/InputManagerCallback.java index 8d1425d17d473..67dd89ee295c2 100644 --- a/services/core/java/com/android/server/wm/InputManagerCallback.java +++ b/services/core/java/com/android/server/wm/InputManagerCallback.java @@ -29,6 +29,7 @@ import android.graphics.PointF; import android.os.Debug; import android.os.IBinder; import android.util.Slog; +import android.view.Display; import android.view.InputApplicationHandle; import android.view.KeyEvent; import android.view.SurfaceControl; @@ -194,6 +195,9 @@ final class InputManagerCallback implements InputManagerService.WindowManagerCal int firstExternalDisplayId = DEFAULT_DISPLAY; for (int i = mService.mRoot.mChildren.size() - 1; i >= 0; --i) { final DisplayContent displayContent = mService.mRoot.mChildren.get(i); + if (displayContent.getDisplayInfo().state == Display.STATE_OFF) { + continue; + } // Heuristic solution here. Currently when "Freeform windows" developer option is // enabled we automatically put secondary displays in freeform mode and emulating // "desktop mode". It also makes sense to show the pointer on the same display.