Merge "Return non-null empty list if the controller is already invalidated" into sc-v2-dev

This commit is contained in:
Winson Chung
2022-01-13 01:42:19 +00:00
committed by Android (Google) Code Review

View File

@@ -292,7 +292,6 @@ public class RecentTasksController implements TaskStackListenerCallback,
* Invalidates this instance, preventing future calls from updating the controller. * Invalidates this instance, preventing future calls from updating the controller.
*/ */
void invalidate() { void invalidate() {
Slog.d("b/206648922", "invalidating controller: " + mController);
mController = null; mController = null;
} }
@@ -313,13 +312,16 @@ public class RecentTasksController implements TaskStackListenerCallback,
@Override @Override
public GroupedRecentTaskInfo[] getRecentTasks(int maxNum, int flags, int userId) public GroupedRecentTaskInfo[] getRecentTasks(int maxNum, int flags, int userId)
throws RemoteException { throws RemoteException {
if (mController == null) {
// The controller is already invalidated -- just return an empty task list for now
return new GroupedRecentTaskInfo[0];
}
final GroupedRecentTaskInfo[][] out = new GroupedRecentTaskInfo[][]{null}; final GroupedRecentTaskInfo[][] out = new GroupedRecentTaskInfo[][]{null};
executeRemoteCallWithTaskPermission(mController, "getRecentTasks", executeRemoteCallWithTaskPermission(mController, "getRecentTasks",
(controller) -> out[0] = controller.getRecentTasks(maxNum, flags, userId) (controller) -> out[0] = controller.getRecentTasks(maxNum, flags, userId)
.toArray(new GroupedRecentTaskInfo[0]), .toArray(new GroupedRecentTaskInfo[0]),
true /* blocking */); true /* blocking */);
Slog.d("b/206648922", "getRecentTasks(" + maxNum + "): " + out[0]
+ " mController=" + mController);
return out[0]; return out[0];
} }
} }