Finish immediately if the resumed activity is already visible
When in FINISH_AFTER_VISIBLE mode, we need to check visibility of both the current activity, and the activity to be resumed. If the resumed activity is already visible, we should finish immediately. We can't put it into stopping state and wait because there won't be a window visible callback from the next activity. bug: 28378359 Change-Id: Ib1fb44acfec33616da76f48102cc00b453e41914
This commit is contained in:
@@ -3457,7 +3457,8 @@ final class ActivityStack {
|
||||
// First things first: if this activity is currently visible,
|
||||
// and the resumed activity is not yet visible, then hold off on
|
||||
// finishing until the resumed one becomes visible.
|
||||
if (mode == FINISH_AFTER_VISIBLE && (r.visible || r.nowVisible)) {
|
||||
if (mode == FINISH_AFTER_VISIBLE && (r.visible || r.nowVisible)
|
||||
&& !mStackSupervisor.allResumedActivitiesVisible()) {
|
||||
if (!mStackSupervisor.mStoppingActivities.contains(r)) {
|
||||
addToStopping(r, false /* immediate */);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user