Merge "Clear preferred top focusable root task" into sc-dev am: ba19c63b66 am: 81a4401979 am: dd9289ae72

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

Change-Id: I8e0cde793ff1e0c3a6ff8808d7bdb83f8c8c63b3
This commit is contained in:
TreeHugger Robot
2021-05-21 04:53:44 +00:00
committed by Automerger Merge Worker
2 changed files with 10 additions and 0 deletions

View File

@@ -3071,6 +3071,11 @@ class Task extends WindowContainer<WindowContainer> {
focusableTask = mRootWindowContainer.getNextFocusableRootTask(this, !allowFocusSelf);
}
if (focusableTask == null) {
final TaskDisplayArea taskDisplayArea = getDisplayArea();
if (taskDisplayArea != null) {
// Clear the recorded task since there is no next focusable task.
taskDisplayArea.clearPreferredTopFocusableRootTask();
}
return null;
}

View File

@@ -143,6 +143,7 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> {
* unable to resume target root task properly when there are other focusable always-on-top
* root tasks.
*/
@VisibleForTesting
Task mPreferredTopFocusableRootTask;
/**
@@ -2130,6 +2131,10 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> {
&& mDisplayContent.getOrientationRequestingTaskDisplayArea() == this;
}
void clearPreferredTopFocusableRootTask() {
mPreferredTopFocusableRootTask = null;
}
@Override
boolean isTaskDisplayArea() {
return true;