Merge "[RESTRICT AUTOMERGE] Do not resume activity if behind a translucent task" into rvc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d4ef6e49a1
@@ -93,7 +93,7 @@ class EnsureActivitiesVisibleHelper {
|
||||
// activities are actually behind other fullscreen activities, but still required
|
||||
// to be visible (such as performing Recents animation).
|
||||
final boolean resumeTopActivity = mTop != null && !mTop.mLaunchTaskBehind
|
||||
&& mContiner.isTopActivityFocusable()
|
||||
&& mContiner.canBeResumed(starting)
|
||||
&& (starting == null || !starting.isDescendantOf(mContiner));
|
||||
|
||||
final PooledConsumer f = PooledLambda.obtainConsumer(
|
||||
|
||||
@@ -1971,7 +1971,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
||||
|
||||
try {
|
||||
if (mStackSupervisor.realStartActivityLocked(r, app,
|
||||
top == r && r.isFocusable() /*andResume*/, true /*checkConfig*/)) {
|
||||
top == r && r.getTask().canBeResumed(r) /*andResume*/,
|
||||
true /*checkConfig*/)) {
|
||||
mTmpBoolean = true;
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
|
||||
@@ -3660,6 +3660,17 @@ class Task extends WindowContainer<WindowContainer> {
|
||||
return getVisibility(starting) != STACK_VISIBILITY_INVISIBLE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns {@code true} is the activity in this Task can be resumed.
|
||||
*
|
||||
* @param starting The currently starting activity or {@code null} if there is none.
|
||||
*/
|
||||
boolean canBeResumed(@Nullable ActivityRecord starting) {
|
||||
// No need to resume activity in Task that is not visible.
|
||||
return isTopActivityFocusable()
|
||||
&& getVisibility(starting) == STACK_VISIBILITY_VISIBLE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the task should be visible.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user