Merge "Fix getAnimationTargets so that it returns valid animation target" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-03-06 00:19:10 +00:00
committed by Android (Google) Code Review
4 changed files with 15 additions and 1 deletions

View File

@@ -7627,6 +7627,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
record.mStartBounds);
}
@Override
boolean canCreateRemoteAnimationTarget() {
return true;
}
@Override
void getAnimationFrames(Rect outFrame, Rect outInsets, Rect outStableInsets,
Rect outSurfaceInsets) {

View File

@@ -446,7 +446,7 @@ public class AppTransitionController {
siblings.add(current);
boolean canPromote = true;
if (parent == null) {
if (parent == null || !parent.canCreateRemoteAnimationTarget()) {
canPromote = false;
} else {
// In case a descendant of the parent belongs to the other group, we cannot promote

View File

@@ -3121,6 +3121,11 @@ class Task extends WindowContainer<WindowContainer> {
return activity != null ? activity.createRemoteAnimationTarget(record) : null;
}
@Override
boolean canCreateRemoteAnimationTarget() {
return true;
}
WindowState getTopVisibleAppMainWindow() {
final ActivityRecord activity = getTopVisibleActivity();
return activity != null ? activity.findMainWindow() : null;

View File

@@ -2196,6 +2196,10 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
return null;
}
boolean canCreateRemoteAnimationTarget() {
return false;
}
boolean okToDisplay() {
final DisplayContent dc = getDisplayContent();
return dc != null && dc.okToDisplay();