Loading libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTransitions.java +4 −1 Original line number Diff line number Diff line Loading @@ -202,6 +202,7 @@ public class TaskViewTransitions implements Transitions.TransitionHandler { } void setTaskViewVisible(TaskViewTaskController taskView, boolean visible) { if (mTaskViews.get(taskView) == null) return; if (mTaskViews.get(taskView).mVisible == visible) return; if (taskView.getTaskInfo() == null) { // Nothing to update, task is not yet available Loading @@ -220,17 +221,19 @@ public class TaskViewTransitions implements Transitions.TransitionHandler { void updateBoundsState(TaskViewTaskController taskView, Rect boundsOnScreen) { TaskViewRequestedState state = mTaskViews.get(taskView); if (state == null) return; state.mBounds.set(boundsOnScreen); } void updateVisibilityState(TaskViewTaskController taskView, boolean visible) { TaskViewRequestedState state = mTaskViews.get(taskView); if (state == null) return; state.mVisible = visible; } void setTaskBounds(TaskViewTaskController taskView, Rect boundsOnScreen) { TaskViewRequestedState state = mTaskViews.get(taskView); if (Objects.equals(boundsOnScreen, state.mBounds)) { if (state == null || Objects.equals(boundsOnScreen, state.mBounds)) { return; } state.mBounds.set(boundsOnScreen); Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/taskview/TaskViewTransitionsTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -179,4 +179,23 @@ public class TaskViewTransitionsTest extends ShellTestCase { mTaskViewTransitions.findPending(mTaskViewTaskController, TRANSIT_CHANGE); assertThat(pendingBounds2).isNull(); } @Test public void testSetTaskVisibility_taskRemoved_noNPE() { mTaskViewTransitions.removeTaskView(mTaskViewTaskController); assumeTrue(Transitions.ENABLE_SHELL_TRANSITIONS); mTaskViewTransitions.setTaskViewVisible(mTaskViewTaskController, false); } @Test public void testSetTaskBounds_taskRemoved_noNPE() { mTaskViewTransitions.removeTaskView(mTaskViewTaskController); assumeTrue(Transitions.ENABLE_SHELL_TRANSITIONS); mTaskViewTransitions.setTaskBounds(mTaskViewTaskController, new Rect(0, 0, 100, 100)); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTransitions.java +4 −1 Original line number Diff line number Diff line Loading @@ -202,6 +202,7 @@ public class TaskViewTransitions implements Transitions.TransitionHandler { } void setTaskViewVisible(TaskViewTaskController taskView, boolean visible) { if (mTaskViews.get(taskView) == null) return; if (mTaskViews.get(taskView).mVisible == visible) return; if (taskView.getTaskInfo() == null) { // Nothing to update, task is not yet available Loading @@ -220,17 +221,19 @@ public class TaskViewTransitions implements Transitions.TransitionHandler { void updateBoundsState(TaskViewTaskController taskView, Rect boundsOnScreen) { TaskViewRequestedState state = mTaskViews.get(taskView); if (state == null) return; state.mBounds.set(boundsOnScreen); } void updateVisibilityState(TaskViewTaskController taskView, boolean visible) { TaskViewRequestedState state = mTaskViews.get(taskView); if (state == null) return; state.mVisible = visible; } void setTaskBounds(TaskViewTaskController taskView, Rect boundsOnScreen) { TaskViewRequestedState state = mTaskViews.get(taskView); if (Objects.equals(boundsOnScreen, state.mBounds)) { if (state == null || Objects.equals(boundsOnScreen, state.mBounds)) { return; } state.mBounds.set(boundsOnScreen); Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/taskview/TaskViewTransitionsTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -179,4 +179,23 @@ public class TaskViewTransitionsTest extends ShellTestCase { mTaskViewTransitions.findPending(mTaskViewTaskController, TRANSIT_CHANGE); assertThat(pendingBounds2).isNull(); } @Test public void testSetTaskVisibility_taskRemoved_noNPE() { mTaskViewTransitions.removeTaskView(mTaskViewTaskController); assumeTrue(Transitions.ENABLE_SHELL_TRANSITIONS); mTaskViewTransitions.setTaskViewVisible(mTaskViewTaskController, false); } @Test public void testSetTaskBounds_taskRemoved_noNPE() { mTaskViewTransitions.removeTaskView(mTaskViewTaskController); assumeTrue(Transitions.ENABLE_SHELL_TRANSITIONS); mTaskViewTransitions.setTaskBounds(mTaskViewTaskController, new Rect(0, 0, 100, 100)); } }