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

Commit 0b4057f0 authored by Louis Chang's avatar Louis Chang Committed by Android (Google) Code Review
Browse files

Merge "Reset top focused root task when task hidden" into sc-dev

parents a6c75050 a782799b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -5373,11 +5373,11 @@ class Task extends WindowContainer<WindowContainer> {
        }
        final boolean wasHidden = isForceHidden();
        mForceHiddenFlags = newFlags;
        if (wasHidden && isFocusableAndVisible()) {
        if (wasHidden != isForceHidden() && isTopActivityFocusable()) {
            // The change in force-hidden state will change visibility without triggering a root
            // task order change, so we should reset the preferred top focusable root task to ensure
            // it's not used if a new activity is started from this task.
            getDisplayArea().resetPreferredTopFocusableRootTaskIfBelow(this);
            getDisplayArea().resetPreferredTopFocusableRootTaskIfNeeded(this);
        }
        return true;
    }
+3 −2
Original line number Diff line number Diff line
@@ -974,9 +974,10 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> {
        onRootTaskOrderChanged(rootTask);
    }

    void resetPreferredTopFocusableRootTaskIfBelow(Task task) {
    /** Reset the mPreferredTopFocusableRootTask if it is or below the given task. */
    void resetPreferredTopFocusableRootTaskIfNeeded(Task task) {
        if (mPreferredTopFocusableRootTask != null
                && mPreferredTopFocusableRootTask.compareTo(task) < 0) {
                && mPreferredTopFocusableRootTask.compareTo(task) <= 0) {
            mPreferredTopFocusableRootTask = null;
        }
    }