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

Commit b43c3357 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Let RecentTasksController be a DesktopRepository.DeskChangeListener" into main

parents 3a695fea 6f55e4fb
Loading
Loading
Loading
Loading
+29 −3
Original line number Diff line number Diff line
@@ -90,7 +90,8 @@ import java.util.stream.Collectors;
 */
public class RecentTasksController implements TaskStackListenerCallback,
        RemoteCallable<RecentTasksController>, DesktopRepository.ActiveTasksListener,
        TaskStackTransitionObserver.TaskStackTransitionObserverListener, UserChangeListener {
        TaskStackTransitionObserver.TaskStackTransitionObserverListener, UserChangeListener,
        DesktopRepository.DeskChangeListener {
    private static final String TAG = RecentTasksController.class.getSimpleName();

    // When the multiple desktops feature is disabled, all freeform tasks are lumped together into
@@ -202,8 +203,13 @@ public class RecentTasksController implements TaskStackListenerCallback,
        mShellCommandHandler.addCommandCallback("recents", mRecentsShellCommandHandler, this);
        mUserId = ActivityManager.getCurrentUser();
        mDesktopUserRepositories.ifPresent(
                desktopUserRepositories ->
                        desktopUserRepositories.getCurrent().addActiveTaskListener(this));
                desktopUserRepositories -> {
                    desktopUserRepositories.getCurrent().addActiveTaskListener(this);
                    if (mDesktopState.enableMultipleDesktops()) {
                        desktopUserRepositories.getCurrent().addDeskChangeListener(this,
                                mMainExecutor);
                    }
                });
        mTaskStackListener.addListener(this);
        mTaskStackTransitionObserver.addTaskStackTransitionObserverListener(this,
                mMainExecutor);
@@ -980,6 +986,26 @@ public class RecentTasksController implements TaskStackListenerCallback,
        currentUserRepository.addActiveTaskListener(this);
    }

    @Override
    public void onDeskAdded(int displayId, int deskId) {
        notifyRecentTasksChanged();
    }

    @Override
    public void onDeskRemoved(int displayId, int deskId) {
        notifyRecentTasksChanged();
    }

    @Override
    public void onActiveDeskChanged(int displayId, int newActiveDeskId, int oldActiveDeskId) {
        // No-op for now, as only desk additions/removals affect the recent tasks list directly.
    }

    @Override
    public void onCanCreateDesksChanged(boolean canCreateDesks) {
        // No-op for now.
    }

    /**
     * The interface for calls from outside the host process.
     */