Merge "Clear preferred top focusable root task" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-05-21 04:17:50 +00:00
committed by Android (Google) Code Review
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;