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

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/14698046

Change-Id: Iaced54e548dd1cc71e04e5d8d3ce9bc72b0336d3
This commit is contained in:
Tracy Zhou
2021-06-22 17:44:28 +00:00
committed by Automerger Merge Worker

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.