diff options
| author | 2023-05-31 21:41:34 +0000 | |
|---|---|---|
| committer | 2023-05-31 21:41:34 +0000 | |
| commit | b6a07bea24365c9bd74b040cc63cc182c02a0230 (patch) | |
| tree | 34a505492e22bb4005028a94c23d8450322b3bfb | |
| parent | 31e69820d588b2b2c8c9209efe944efb6f8ab278 (diff) | |
| parent | 7805bdb7584c537dc048f754c8b74bd9f100980c (diff) | |
Merge "[wm] fix npe when removing trusted task overlays" into udc-qpr-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index cb6a57b20ef4..7460d12d20b2 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8270,6 +8270,13 @@ public class WindowManagerService extends IWindowManager.Stub @Override public void addTrustedTaskOverlay(int taskId, SurfaceControlViewHost.SurfacePackage overlay) { + if (overlay == null) { + throw new IllegalArgumentException("Invalid overlay passed in for task=" + taskId); + } else if (overlay.getSurfaceControl() == null + || !overlay.getSurfaceControl().isValid()) { + throw new IllegalArgumentException( + "Invalid overlay surfacecontrol passed in for task=" + taskId); + } synchronized (mGlobalLock) { final Task task = mRoot.getRootTask(taskId); if (task == null) { @@ -8282,6 +8289,13 @@ public class WindowManagerService extends IWindowManager.Stub @Override public void removeTrustedTaskOverlay(int taskId, SurfaceControlViewHost.SurfacePackage overlay) { + if (overlay == null) { + throw new IllegalArgumentException("Invalid overlay passed in for task=" + taskId); + } else if (overlay.getSurfaceControl() == null + || !overlay.getSurfaceControl().isValid()) { + throw new IllegalArgumentException( + "Invalid overlay surfacecontrol passed in for task=" + taskId); + } synchronized (mGlobalLock) { final Task task = mRoot.getRootTask(taskId); if (task == null) { |