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

Commit 7d0a4d6a authored by Jerry Chang's avatar Jerry Chang
Browse files

Prevent NPE when pinning task from split screen

When task is locked from split screen, it resets windowing mode to
undefined. Update to allow un-specifying windowing mode during lock task
mode.

Fix: 179399676
Test: pinning task from split screen won't crash
Change-Id: If094dff1de41f5eda31ce945e663a419e08580bd
parent 0088eefa
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.server.wm;
package com.android.server.wm;


import static android.Manifest.permission.READ_FRAME_BUFFER;
import static android.Manifest.permission.READ_FRAME_BUFFER;
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_CHILDREN_TASKS_REPARENT;
import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_CHILDREN_TASKS_REPARENT;
import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REORDER;
import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REORDER;
import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REPARENT;
import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REPARENT;
@@ -426,8 +425,9 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
        }
        }


        if (windowingMode > -1) {
        if (windowingMode > -1) {
            if (mService.isInLockTaskMode() && windowingMode != WINDOWING_MODE_FULLSCREEN) {
            if (mService.isInLockTaskMode()
                throw new UnsupportedOperationException("Not supported to set non-fullscreen"
                    && WindowConfiguration.inMultiWindowMode(windowingMode)) {
                throw new UnsupportedOperationException("Not supported to set multi-window"
                        + " windowing mode during locked task mode.");
                        + " windowing mode during locked task mode.");
            }
            }
            container.setWindowingMode(windowingMode);
            container.setWindowingMode(windowingMode);