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

Commit a76e46ee authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

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

parents d0f8b5e9 d0823fc8
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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];
        }
    }