Loading services/core/java/com/android/server/wm/Task.java +5 −5 Original line number Diff line number Diff line Loading @@ -4597,11 +4597,11 @@ class Task extends WindowContainer<WindowContainer> { } final boolean wasHidden = isForceHidden(); mForceHiddenFlags = newFlags; if (wasHidden && isFocusableAndVisible()) { // The change in force-hidden state will change visibility without triggering a stack // order change, so we should reset the preferred top focusable stack to ensure it's not // used if a new activity is started from this task. getDisplayArea().resetPreferredTopFocusableStackIfBelow(this); 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().resetPreferredTopFocusableRootTaskIfNeeded(this); } return true; } Loading services/core/java/com/android/server/wm/TaskDisplayArea.java +3 −2 Original line number Diff line number Diff line Loading @@ -773,9 +773,10 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> { onStackOrderChanged(stack); } void resetPreferredTopFocusableStackIfBelow(Task task) { /** Reset the mPreferredTopFocusableRootTask if it is or below the given task. */ void resetPreferredTopFocusableRootTaskIfNeeded(Task task) { if (mPreferredTopFocusableStack != null && mPreferredTopFocusableStack.compareTo(task) < 0) { && mPreferredTopFocusableStack.compareTo(task) <= 0) { mPreferredTopFocusableStack = null; } } Loading Loading
services/core/java/com/android/server/wm/Task.java +5 −5 Original line number Diff line number Diff line Loading @@ -4597,11 +4597,11 @@ class Task extends WindowContainer<WindowContainer> { } final boolean wasHidden = isForceHidden(); mForceHiddenFlags = newFlags; if (wasHidden && isFocusableAndVisible()) { // The change in force-hidden state will change visibility without triggering a stack // order change, so we should reset the preferred top focusable stack to ensure it's not // used if a new activity is started from this task. getDisplayArea().resetPreferredTopFocusableStackIfBelow(this); 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().resetPreferredTopFocusableRootTaskIfNeeded(this); } return true; } Loading
services/core/java/com/android/server/wm/TaskDisplayArea.java +3 −2 Original line number Diff line number Diff line Loading @@ -773,9 +773,10 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> { onStackOrderChanged(stack); } void resetPreferredTopFocusableStackIfBelow(Task task) { /** Reset the mPreferredTopFocusableRootTask if it is or below the given task. */ void resetPreferredTopFocusableRootTaskIfNeeded(Task task) { if (mPreferredTopFocusableStack != null && mPreferredTopFocusableStack.compareTo(task) < 0) { && mPreferredTopFocusableStack.compareTo(task) <= 0) { mPreferredTopFocusableStack = null; } } Loading