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

Commit 7805bdb7 authored by Vishnu Nair's avatar Vishnu Nair
Browse files

[wm] fix npe when removing trusted task overlays

Bug: 284898339
Test: add and remove game service overlay
Change-Id: I4f76e1e59f5284ad393397deec12f2d6bef5b7bb
parent 59fc3204
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -8261,6 +8261,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) {
@@ -8273,6 +8280,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) {