Loading quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +1 −1 Original line number Diff line number Diff line Loading @@ -133,7 +133,7 @@ public class OverviewState extends LauncherState { public void onBackPressed(Launcher launcher) { TaskView taskView = launcher.<RecentsView>getOverviewPanel().getRunningTaskView(); if (taskView != null) { taskView.launchTaskAnimated(); taskView.launchTasks(); } else { super.onBackPressed(launcher); } Loading quickstep/src/com/android/quickstep/views/TaskView.java +74 −67 Original line number Diff line number Diff line Loading @@ -618,73 +618,7 @@ public class TaskView extends FrameLayout implements Reusable { if (confirmSecondSplitSelectApp()) { return; } RecentsView recentsView = getRecentsView(); RemoteTargetHandle[] remoteTargetHandles = recentsView.mRemoteTargetHandles; if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask() && remoteTargetHandles != null) { if (!mIsClickableAsLiveTile) { return; } // Reset the minimized state since we force-toggled the minimized state when entering // overview, but never actually finished the recents animation SystemUiProxy.INSTANCE.get(getContext()).setSplitScreenMinimized(false); mIsClickableAsLiveTile = false; RemoteAnimationTargets targets; if (remoteTargetHandles.length == 1) { targets = remoteTargetHandles[0].getTransformParams().getTargetSet(); } else { TransformParams topLeftParams = remoteTargetHandles[0].getTransformParams(); TransformParams rightBottomParams = remoteTargetHandles[1].getTransformParams(); RemoteAnimationTargetCompat[] apps = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().apps), Arrays.stream(rightBottomParams.getTargetSet().apps)) .toArray(RemoteAnimationTargetCompat[]::new); RemoteAnimationTargetCompat[] wallpapers = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().wallpapers), Arrays.stream(rightBottomParams.getTargetSet().wallpapers)) .toArray(RemoteAnimationTargetCompat[]::new); targets = new RemoteAnimationTargets(apps, wallpapers, topLeftParams.getTargetSet().nonApps, topLeftParams.getTargetSet().targetMode); } 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. launchTaskAnimated(); mIsClickableAsLiveTile = true; return; } AnimatorSet anim = new AnimatorSet(); TaskViewUtils.composeRecentsLaunchAnimator( anim, this, targets.apps, targets.wallpapers, targets.nonApps, true /* launcherClosing */, mActivity.getStateManager(), recentsView, recentsView.getDepthController()); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { recentsView.runActionOnRemoteHandles( (Consumer<RemoteTargetHandle>) remoteTargetHandle -> remoteTargetHandle .getTaskViewSimulator() .setDrawsBelowRecents(false)); } @Override public void onAnimationEnd(Animator animator) { if (mTask != null && mTask.key.displayId != getRootViewDisplayId()) { launchTaskAnimated(); } mIsClickableAsLiveTile = true; } }); anim.start(); recentsView.onTaskLaunchedInLiveTileMode(); } else { launchTaskAnimated(); } launchTasks(); mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo()) .log(LAUNCHER_TASK_LAUNCH_TAP); } Loading Loading @@ -781,6 +715,79 @@ public class TaskView extends FrameLayout implements Reusable { } } /** * Launch of the current task (both live and inactive tasks) with an animation. */ public void launchTasks() { RecentsView recentsView = getRecentsView(); RemoteTargetHandle[] remoteTargetHandles = recentsView.mRemoteTargetHandles; if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask() && remoteTargetHandles != null) { if (!mIsClickableAsLiveTile) { return; } // Reset the minimized state since we force-toggled the minimized state when entering // overview, but never actually finished the recents animation SystemUiProxy.INSTANCE.get(getContext()).setSplitScreenMinimized(false); mIsClickableAsLiveTile = false; RemoteAnimationTargets targets; if (remoteTargetHandles.length == 1) { targets = remoteTargetHandles[0].getTransformParams().getTargetSet(); } else { TransformParams topLeftParams = remoteTargetHandles[0].getTransformParams(); TransformParams rightBottomParams = remoteTargetHandles[1].getTransformParams(); RemoteAnimationTargetCompat[] apps = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().apps), Arrays.stream(rightBottomParams.getTargetSet().apps)) .toArray(RemoteAnimationTargetCompat[]::new); RemoteAnimationTargetCompat[] wallpapers = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().wallpapers), Arrays.stream(rightBottomParams.getTargetSet().wallpapers)) .toArray(RemoteAnimationTargetCompat[]::new); targets = new RemoteAnimationTargets(apps, wallpapers, topLeftParams.getTargetSet().nonApps, topLeftParams.getTargetSet().targetMode); } 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. launchTaskAnimated(); mIsClickableAsLiveTile = true; return; } AnimatorSet anim = new AnimatorSet(); TaskViewUtils.composeRecentsLaunchAnimator( anim, this, targets.apps, targets.wallpapers, targets.nonApps, true /* launcherClosing */, mActivity.getStateManager(), recentsView, recentsView.getDepthController()); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { recentsView.runActionOnRemoteHandles( (Consumer<RemoteTargetHandle>) remoteTargetHandle -> remoteTargetHandle .getTaskViewSimulator() .setDrawsBelowRecents(false)); } @Override public void onAnimationEnd(Animator animator) { if (mTask != null && mTask.key.displayId != getRootViewDisplayId()) { launchTaskAnimated(); } mIsClickableAsLiveTile = true; } }); anim.start(); recentsView.onTaskLaunchedInLiveTileMode(); } else { launchTaskAnimated(); } } /** * See {@link TaskDataChanges} * @param visible If this task view will be visible to the user in overview or hidden Loading Loading
quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +1 −1 Original line number Diff line number Diff line Loading @@ -133,7 +133,7 @@ public class OverviewState extends LauncherState { public void onBackPressed(Launcher launcher) { TaskView taskView = launcher.<RecentsView>getOverviewPanel().getRunningTaskView(); if (taskView != null) { taskView.launchTaskAnimated(); taskView.launchTasks(); } else { super.onBackPressed(launcher); } Loading
quickstep/src/com/android/quickstep/views/TaskView.java +74 −67 Original line number Diff line number Diff line Loading @@ -618,73 +618,7 @@ public class TaskView extends FrameLayout implements Reusable { if (confirmSecondSplitSelectApp()) { return; } RecentsView recentsView = getRecentsView(); RemoteTargetHandle[] remoteTargetHandles = recentsView.mRemoteTargetHandles; if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask() && remoteTargetHandles != null) { if (!mIsClickableAsLiveTile) { return; } // Reset the minimized state since we force-toggled the minimized state when entering // overview, but never actually finished the recents animation SystemUiProxy.INSTANCE.get(getContext()).setSplitScreenMinimized(false); mIsClickableAsLiveTile = false; RemoteAnimationTargets targets; if (remoteTargetHandles.length == 1) { targets = remoteTargetHandles[0].getTransformParams().getTargetSet(); } else { TransformParams topLeftParams = remoteTargetHandles[0].getTransformParams(); TransformParams rightBottomParams = remoteTargetHandles[1].getTransformParams(); RemoteAnimationTargetCompat[] apps = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().apps), Arrays.stream(rightBottomParams.getTargetSet().apps)) .toArray(RemoteAnimationTargetCompat[]::new); RemoteAnimationTargetCompat[] wallpapers = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().wallpapers), Arrays.stream(rightBottomParams.getTargetSet().wallpapers)) .toArray(RemoteAnimationTargetCompat[]::new); targets = new RemoteAnimationTargets(apps, wallpapers, topLeftParams.getTargetSet().nonApps, topLeftParams.getTargetSet().targetMode); } 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. launchTaskAnimated(); mIsClickableAsLiveTile = true; return; } AnimatorSet anim = new AnimatorSet(); TaskViewUtils.composeRecentsLaunchAnimator( anim, this, targets.apps, targets.wallpapers, targets.nonApps, true /* launcherClosing */, mActivity.getStateManager(), recentsView, recentsView.getDepthController()); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { recentsView.runActionOnRemoteHandles( (Consumer<RemoteTargetHandle>) remoteTargetHandle -> remoteTargetHandle .getTaskViewSimulator() .setDrawsBelowRecents(false)); } @Override public void onAnimationEnd(Animator animator) { if (mTask != null && mTask.key.displayId != getRootViewDisplayId()) { launchTaskAnimated(); } mIsClickableAsLiveTile = true; } }); anim.start(); recentsView.onTaskLaunchedInLiveTileMode(); } else { launchTaskAnimated(); } launchTasks(); mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo()) .log(LAUNCHER_TASK_LAUNCH_TAP); } Loading Loading @@ -781,6 +715,79 @@ public class TaskView extends FrameLayout implements Reusable { } } /** * Launch of the current task (both live and inactive tasks) with an animation. */ public void launchTasks() { RecentsView recentsView = getRecentsView(); RemoteTargetHandle[] remoteTargetHandles = recentsView.mRemoteTargetHandles; if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask() && remoteTargetHandles != null) { if (!mIsClickableAsLiveTile) { return; } // Reset the minimized state since we force-toggled the minimized state when entering // overview, but never actually finished the recents animation SystemUiProxy.INSTANCE.get(getContext()).setSplitScreenMinimized(false); mIsClickableAsLiveTile = false; RemoteAnimationTargets targets; if (remoteTargetHandles.length == 1) { targets = remoteTargetHandles[0].getTransformParams().getTargetSet(); } else { TransformParams topLeftParams = remoteTargetHandles[0].getTransformParams(); TransformParams rightBottomParams = remoteTargetHandles[1].getTransformParams(); RemoteAnimationTargetCompat[] apps = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().apps), Arrays.stream(rightBottomParams.getTargetSet().apps)) .toArray(RemoteAnimationTargetCompat[]::new); RemoteAnimationTargetCompat[] wallpapers = Stream.concat( Arrays.stream(topLeftParams.getTargetSet().wallpapers), Arrays.stream(rightBottomParams.getTargetSet().wallpapers)) .toArray(RemoteAnimationTargetCompat[]::new); targets = new RemoteAnimationTargets(apps, wallpapers, topLeftParams.getTargetSet().nonApps, topLeftParams.getTargetSet().targetMode); } 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. launchTaskAnimated(); mIsClickableAsLiveTile = true; return; } AnimatorSet anim = new AnimatorSet(); TaskViewUtils.composeRecentsLaunchAnimator( anim, this, targets.apps, targets.wallpapers, targets.nonApps, true /* launcherClosing */, mActivity.getStateManager(), recentsView, recentsView.getDepthController()); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { recentsView.runActionOnRemoteHandles( (Consumer<RemoteTargetHandle>) remoteTargetHandle -> remoteTargetHandle .getTaskViewSimulator() .setDrawsBelowRecents(false)); } @Override public void onAnimationEnd(Animator animator) { if (mTask != null && mTask.key.displayId != getRootViewDisplayId()) { launchTaskAnimated(); } mIsClickableAsLiveTile = true; } }); anim.start(); recentsView.onTaskLaunchedInLiveTileMode(); } else { launchTaskAnimated(); } } /** * See {@link TaskDataChanges} * @param visible If this task view will be visible to the user in overview or hidden Loading