From e39690b2183e7d60f268b9af4eaeb36c1c1e2fb4 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 2 Aug 2018 13:35:07 -0700 Subject: Launching last task when back button is pressed in overview Bug: 111158326 Change-Id: Ib38f12f177780d15dbee69e4a27c21aaa9a3e087 --- .../src/com/android/launcher3/uioverrides/OverviewState.java | 11 +++++++++++ quickstep/src/com/android/quickstep/views/RecentsView.java | 12 ++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'quickstep') diff --git a/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java index 7f956f8a2..cf3eee6b2 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java +++ b/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java @@ -31,6 +31,7 @@ import com.android.launcher3.allapps.DiscoveryBounce; import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType; import com.android.quickstep.RecentsModel; import com.android.quickstep.views.RecentsView; +import com.android.quickstep.views.TaskView; /** * Definition for overview state @@ -130,4 +131,14 @@ public class OverviewState extends LauncherState { DeviceProfile dp = launcher.getDeviceProfile(); return dp.allAppsCellHeightPx - dp.allAppsIconTextSizePx; } + + @Override + public void onBackPressed(Launcher launcher) { + TaskView taskView = launcher.getOverviewPanel().getRunningTaskView(); + if (taskView != null) { + taskView.launchTask(true); + } else { + super.onBackPressed(launcher); + } + } } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 2680a2695..181d3c59e 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -714,12 +714,16 @@ public abstract class RecentsView extends PagedView impl setCurrentTask(runningTaskId); } + public TaskView getRunningTaskView() { + return getTaskView(mRunningTaskId); + } + /** * Hides the tile associated with {@link #mRunningTaskId} */ public void setRunningTaskHidden(boolean isHidden) { mRunningTaskTileHidden = isHidden; - TaskView runningTask = getTaskView(mRunningTaskId); + TaskView runningTask = getRunningTaskView(); if (runningTask != null) { runningTask.setAlpha(isHidden ? 0 : mContentAlpha); } @@ -745,7 +749,7 @@ public abstract class RecentsView extends PagedView impl } public void showNextTask() { - TaskView runningTaskView = getTaskView(mRunningTaskId); + TaskView runningTaskView = getRunningTaskView(); if (runningTaskView == null) { // Launch the first task if (getTaskViewCount() > 0) { @@ -773,7 +777,7 @@ public abstract class RecentsView extends PagedView impl } private void applyRunningTaskIconScale() { - TaskView firstTask = getTaskView(mRunningTaskId); + TaskView firstTask = getRunningTaskView(); if (firstTask != null) { firstTask.setIconScaleAndDim(mRunningTaskIconScaledDown ? 0 : 1); } @@ -781,7 +785,7 @@ public abstract class RecentsView extends PagedView impl public void animateUpRunningTaskIconScale() { mRunningTaskIconScaledDown = false; - TaskView firstTask = getTaskView(mRunningTaskId); + TaskView firstTask = getRunningTaskView(); if (firstTask != null) { firstTask.animateIconScaleAndDimIntoView(); } -- cgit v1.2.3