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

Commit c4f68327 authored by Louis Chang's avatar Louis Chang Committed by Automerger Merge Worker
Browse files

Merge "Reset top focused root task when task hidden" into sc-dev am: 0b4057f0

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I990e1aa22115995562aee6ba371b3f6664e46302
parents 2d6e9dde 0b4057f0
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;
        }
    }