From a2cfc2d95e1ae5d8b44e3f63a620d7a819bc826c Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 9 Aug 2019 16:17:37 -0700 Subject: [PATCH 1/3] Always go to home in case of fling-up Bug: 138881088 Change-Id: I86bf4c7a495805d5912b102470e72a51e843a222 --- .../WindowTransformSwipeHandler.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java index 7a67a2a153..0d29e5df84 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java @@ -736,18 +736,19 @@ public class WindowTransformSwipeHandler : LAST_TASK; } } else { - if (mMode == Mode.NO_BUTTON && endVelocity < 0 && !mIsShelfPeeking) { + // If swiping at a diagonal, base end target on the faster velocity. + boolean isSwipeUp = endVelocity < 0; + boolean willGoToNewTaskOnSwipeUp = + goingToNewTask && Math.abs(velocity.x) > Math.abs(endVelocity); + + if (mMode == Mode.NO_BUTTON && isSwipeUp && !willGoToNewTaskOnSwipeUp) { + endTarget = HOME; + } else if (mMode == Mode.NO_BUTTON && isSwipeUp && !mIsShelfPeeking) { // If swiping at a diagonal, base end target on the faster velocity. - endTarget = goingToNewTask && Math.abs(velocity.x) > Math.abs(endVelocity) - ? NEW_TASK : HOME; - } else if (endVelocity < 0) { - if (reachedOverviewThreshold) { - endTarget = RECENTS; - } else { - // If swiping at a diagonal, base end target on the faster velocity. - endTarget = goingToNewTask && Math.abs(velocity.x) > Math.abs(endVelocity) - ? NEW_TASK : RECENTS; - } + endTarget = NEW_TASK; + } else if (isSwipeUp) { + endTarget = !reachedOverviewThreshold && willGoToNewTaskOnSwipeUp + ? NEW_TASK : RECENTS; } else { endTarget = goingToNewTask ? NEW_TASK : LAST_TASK; } From 214a45ee02674712542dabdb7d8c70ace21f4501 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Wed, 14 Aug 2019 09:40:04 -0700 Subject: [PATCH 2/3] Fixed PredictionAppTracker as service might not be available on device. Fixes: 139416391 Bug: 135218095 Test: echo 'in TreeHugger we trust' Change-Id: Iea89b3d379792327657e01869c9494975e7b0306 --- .../android/launcher3/appprediction/PredictionAppTracker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java index 8f1282dedc..24fc61bef9 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java @@ -95,6 +95,10 @@ public class PredictionAppTracker extends AppLaunchTracker { private AppPredictor createPredictor(Client client, int count) { AppPredictionManager apm = mContext.getSystemService(AppPredictionManager.class); + if (apm == null) { + return null; + } + AppPredictor predictor = apm.createAppPredictionSession( new AppPredictionContext.Builder(mContext) .setUiSurface(client.id) From 6e4a1ef16cfa253fa8b587e1a1e7c8118ceea2a6 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Wed, 14 Aug 2019 09:40:04 -0700 Subject: [PATCH 3/3] Fixed PredictionAppTracker as service might not be available on device. Fixes: 139416391 Bug: 135218095 Test: echo 'in TreeHugger we trust' Change-Id: Iea89b3d379792327657e01869c9494975e7b0306 (cherry picked from commit 214a45ee02674712542dabdb7d8c70ace21f4501) --- .../android/launcher3/appprediction/PredictionAppTracker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java index 8f1282dedc..24fc61bef9 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionAppTracker.java @@ -95,6 +95,10 @@ public class PredictionAppTracker extends AppLaunchTracker { private AppPredictor createPredictor(Client client, int count) { AppPredictionManager apm = mContext.getSystemService(AppPredictionManager.class); + if (apm == null) { + return null; + } + AppPredictor predictor = apm.createAppPredictionSession( new AppPredictionContext.Builder(mContext) .setUiSurface(client.id)