Merge "Not resume the invisible TaskFragment when resume top Task" into sc-v2-dev
This commit is contained in:
@@ -3114,10 +3114,6 @@ class Task extends TaskFragment {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isFocusableAndVisible() {
|
|
||||||
return isTopActivityFocusable() && shouldBeVisible(null /* starting */);
|
|
||||||
}
|
|
||||||
|
|
||||||
void positionChildAtTop(ActivityRecord child) {
|
void positionChildAtTop(ActivityRecord child) {
|
||||||
positionChildAt(child, POSITION_TOP);
|
positionChildAt(child, POSITION_TOP);
|
||||||
}
|
}
|
||||||
@@ -5037,7 +5033,10 @@ class Task extends TaskFragment {
|
|||||||
if (topFragment == f) {
|
if (topFragment == f) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!f.isFocusableAndVisible()) {
|
||||||
|
// No need to resume activity in TaskFragment that is not visible.
|
||||||
|
return;
|
||||||
|
}
|
||||||
resumed[0] |= f.resumeTopActivity(prev, options, deferPause);
|
resumed[0] |= f.resumeTopActivity(prev, options, deferPause);
|
||||||
}, true);
|
}, true);
|
||||||
return resumed[0];
|
return resumed[0];
|
||||||
|
|||||||
@@ -1262,6 +1262,10 @@ class TaskFragment extends WindowContainer<WindowContainer> {
|
|||||||
return getVisibility(starting) != TASK_FRAGMENT_VISIBILITY_INVISIBLE;
|
return getVisibility(starting) != TASK_FRAGMENT_VISIBILITY_INVISIBLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean isFocusableAndVisible() {
|
||||||
|
return isTopActivityFocusable() && shouldBeVisible(null /* starting */);
|
||||||
|
}
|
||||||
|
|
||||||
final boolean startPausing(boolean uiSleeping, ActivityRecord resuming, String reason) {
|
final boolean startPausing(boolean uiSleeping, ActivityRecord resuming, String reason) {
|
||||||
return startPausing(mTaskSupervisor.mUserLeaving, uiSleeping, resuming, reason);
|
return startPausing(mTaskSupervisor.mUserLeaving, uiSleeping, resuming, reason);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user