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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16615270

Change-Id: Ic8c080d0c2fca0969c0f08fcd01033df17161362
This commit is contained in:
Winson Chung
2022-01-13 02:17:32 +00:00
committed by Automerger Merge Worker

View File

@@ -292,7 +292,6 @@ public class RecentTasksController implements TaskStackListenerCallback,
* Invalidates this instance, preventing future calls from updating the controller.
*/
void invalidate() {
Slog.d("b/206648922", "invalidating controller: " + mController);
mController = null;
}
@@ -313,13 +312,16 @@ public class RecentTasksController implements TaskStackListenerCallback,
@Override
public GroupedRecentTaskInfo[] getRecentTasks(int maxNum, int flags, int userId)
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};
executeRemoteCallWithTaskPermission(mController, "getRecentTasks",
(controller) -> out[0] = controller.getRecentTasks(maxNum, flags, userId)
.toArray(new GroupedRecentTaskInfo[0]),
true /* blocking */);
Slog.d("b/206648922", "getRecentTasks(" + maxNum + "): " + out[0]
+ " mController=" + mController);
return out[0];
}
}