Merge "Fix black screen during Quick switch" into rvc-dev am: c82ee307b1

Change-Id: I93231dd8c485d2ae20aaed9946863e5c97076cd0
This commit is contained in:
TreeHugger Robot
2020-05-25 18:27:03 +00:00
committed by Automerger Merge Worker
4 changed files with 20 additions and 40 deletions

View File

@@ -85,12 +85,6 @@
"group": "WM_DEBUG_ADD_REMOVE",
"at": "com\/android\/server\/wm\/WindowManagerService.java"
},
"-1953668890": {
"message": "Can't start recents animation, nextAppTransition=%s",
"level": "DEBUG",
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
"at": "com\/android\/server\/wm\/RecentsAnimation.java"
},
"-1949279037": {
"message": "Attempted to add input method window with bad token %s. Aborting.",
"level": "WARN",
@@ -889,12 +883,6 @@
"group": "WM_DEBUG_ORIENTATION",
"at": "com\/android\/server\/wm\/ActivityRecord.java"
},
"-242787066": {
"message": "addTaskToRecentsAnimationIfNeeded, control: %s, task: %s, transit: %s",
"level": "DEBUG",
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
"at": "com\/android\/server\/wm\/WindowContainer.java"
},
"-198463978": {
"message": "updateRotationUnchecked: alwaysSendConfiguration=%b forceRelayout=%b",
"level": "VERBOSE",
@@ -1135,6 +1123,12 @@
"group": "WM_DEBUG_ORIENTATION",
"at": "com\/android\/server\/wm\/DisplayRotation.java"
},
"210750281": {
"message": "applyAnimationUnchecked, control: %s, task: %s, transit: %s",
"level": "DEBUG",
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
"at": "com\/android\/server\/wm\/Task.java"
},
"221540118": {
"message": "mUserActivityTimeout set to %d",
"level": "DEBUG",
@@ -1543,24 +1537,12 @@
"group": "WM_ERROR",
"at": "com\/android\/server\/wm\/WindowToken.java"
},
"845234215": {
"message": "App is requesting an orientation, return %d for display id=%d",
"level": "VERBOSE",
"group": "WM_DEBUG_ORIENTATION",
"at": "com\/android\/server\/wm\/DisplayContent.java"
},
"853091290": {
"message": "Moved stack=%s behind stack=%s",
"level": "DEBUG",
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
"at": "com\/android\/server\/wm\/RecentsAnimation.java"
},
"854237232": {
"message": "addTaskToRecentsAnimationIfNeeded, control: %s, task: %s, transit: %s",
"level": "DEBUG",
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
"at": "com\/android\/server\/wm\/Task.java"
},
"873914452": {
"message": "goodToGo()",
"level": "DEBUG",

View File

@@ -407,14 +407,6 @@ public class AppTransition implements Dump {
return mNextAppTransitionType == NEXT_TRANSIT_TYPE_OPEN_CROSS_PROFILE_APPS;
}
boolean isNextAppTransitionCustomFromRecents() {
final RecentTasks recentTasks = mService.mAtmService.getRecentTasks();
final String recentsPackageName =
(recentTasks != null) ? recentTasks.getRecentsComponent().getPackageName() : null;
return mNextAppTransitionType == NEXT_TRANSIT_TYPE_CUSTOM
&& mNextAppTransitionPackage.equals(recentsPackageName);
}
/**
* @return true if and only if we are currently fetching app transition specs from the future
* passed into {@link #overridePendingAppTransitionMultiThumbFuture}

View File

@@ -515,9 +515,14 @@ public class RecentsAnimationController implements DeathRecipient {
void addTaskToTargets(Task task, OnAnimationFinishedCallback finishedCallback) {
if (mRunner != null) {
// No need to send task appeared when the task target already exists.
if (isAnimatingTask(task)) {
return;
}
final RemoteAnimationTarget target = createTaskRemoteAnimation(task, finishedCallback);
if (target == null) return;
if (target == null) {
return;
}
ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS, "addTaskToTargets, target: %s", target);
try {
mRunner.onTaskAppeared(target);

View File

@@ -3511,14 +3511,15 @@ class Task extends WindowContainer<WindowContainer> {
int transit, boolean isVoiceInteraction,
@Nullable OnAnimationFinishedCallback finishedCallback) {
final RecentsAnimationController control = mWmService.getRecentsAnimationController();
if (control != null && enter
&& getDisplayContent().mAppTransition.isNextAppTransitionCustomFromRecents()) {
ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS,
"addTaskToRecentsAnimationIfNeeded, control: %s, task: %s, transit: %s",
control, asTask(), AppTransition.appTransitionToString(transit));
if (control != null) {
// We let the transition to be controlled by RecentsAnimation, and callback task's
// RemoteAnimationTarget for remote runner to animate.
control.addTaskToTargets(getRootTask(), finishedCallback);
if (enter) {
ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS,
"applyAnimationUnchecked, control: %s, task: %s, transit: %s",
control, asTask(), AppTransition.appTransitionToString(transit));
control.addTaskToTargets(getRootTask(), finishedCallback);
}
} else {
super.applyAnimationUnchecked(lp, enter, transit, isVoiceInteraction, finishedCallback);
}