Merge "Null check on target set before rendering task open animation" into sc-dev

This commit is contained in:
Tracy Zhou
2021-06-22 17:21:32 +00:00
committed by Android (Google) Code Review

View File

@@ -554,7 +554,13 @@ public class TaskView extends FrameLayout implements Reusable {
mIsClickableAsLiveTile = false;
RecentsView recentsView = getRecentsView();
RemoteAnimationTargets targets = recentsView.getLiveTileParams().getTargetSet();
final RemoteAnimationTargets targets = recentsView.getLiveTileParams().getTargetSet();
if (targets == null) {
// If the recents animation is cancelled somehow between the parent if block and
// here, try to launch the task as a non live tile task.
launcherNonLiveTileTask();
return;
}
AnimatorSet anim = new AnimatorSet();
TaskViewUtils.composeRecentsLaunchAnimator(
@@ -576,17 +582,21 @@ public class TaskView extends FrameLayout implements Reusable {
});
anim.start();
} else {
if (mActivity.isInState(OVERVIEW_SPLIT_SELECT)) {
// User tapped to select second split screen app
getRecentsView().confirmSplitSelect(this);
} else {
launchTaskAnimated();
}
launcherNonLiveTileTask();
}
mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo())
.log(LAUNCHER_TASK_LAUNCH_TAP);
}
private void launcherNonLiveTileTask() {
if (mActivity.isInState(OVERVIEW_SPLIT_SELECT)) {
// User tapped to select second split screen app
getRecentsView().confirmSplitSelect(this);
} else {
launchTaskAnimated();
}
}
/**
* Starts the task associated with this view and animates the startup.
* @return CompletionStage to indicate the animation completion or null if the launch failed.