summaryrefslogtreecommitdiffstats
path: root/quickstep
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2019-01-10 12:35:37 -0800
committerTony Wickham <twickham@google.com>2019-01-11 00:46:24 +0000
commit68a716c5caed0c6fd65d7ee14967b528cd5a826b (patch)
tree467bed22a439cf6a8873793dfa9a52d08e2c3835 /quickstep
parente873c9623c4209d8c59828936e28216cae272d2f (diff)
downloadandroid_packages_apps_Trebuchet-68a716c5caed0c6fd65d7ee14967b528cd5a826b.tar.gz
android_packages_apps_Trebuchet-68a716c5caed0c6fd65d7ee14967b528cd5a826b.tar.bz2
android_packages_apps_Trebuchet-68a716c5caed0c6fd65d7ee14967b528cd5a826b.zip
Track window rather than shelf when FeatureFlags.SWIPE_HOME = true
Bug: 111926330 Change-Id: I439a682df14e4f559aa62b7f589d17acdac1d367
Diffstat (limited to 'quickstep')
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java3
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java3
-rw-r--r--quickstep/src/com/android/quickstep/ActivityControlHelper.java2
-rw-r--r--quickstep/src/com/android/quickstep/util/LayoutUtils.java16
4 files changed, 17 insertions, 7 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java b/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java
index fdb13b1d1..8d28f3333 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java
@@ -41,7 +41,8 @@ public class BackgroundAppState extends OverviewState {
if (launcher.getDeviceProfile().isVerticalBarLayout()) {
return super.getVerticalProgress(launcher);
}
- int transitionLength = LayoutUtils.getShelfTrackingDistance(launcher.getDeviceProfile());
+ int transitionLength = LayoutUtils.getShelfTrackingDistance(launcher,
+ launcher.getDeviceProfile());
AllAppsTransitionController controller = launcher.getAllAppsController();
float scrollRange = Math.max(controller.getShiftRange(), 1);
float progressDelta = (transitionLength / scrollRange);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
index 8684c58f1..330dc87ac 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
@@ -213,7 +213,8 @@ public class PortraitStatesTouchController extends AbstractStateChangeTouchContr
mCurrentAnimation = AnimatorPlaybackController.wrap(mPendingAnimation.anim, maxAccuracy,
onCancelRunnable);
mLauncher.getStateManager().setCurrentUserControlledAnimation(mCurrentAnimation);
- totalShift = LayoutUtils.getShelfTrackingDistance(mLauncher.getDeviceProfile());
+ totalShift = LayoutUtils.getShelfTrackingDistance(mLauncher,
+ mLauncher.getDeviceProfile());
} else {
mCurrentAnimation = mLauncher.getStateManager()
.createAnimationToNewWorkspace(mToState, builder, maxAccuracy, this::clearState,
diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
index 20aabae40..157052024 100644
--- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java
+++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
@@ -216,7 +216,7 @@ public interface ActivityControlHelper<T extends BaseDraggingActivity> {
int hotseatInset = dp.isSeascape() ? targetInsets.left : targetInsets.right;
return dp.hotseatBarSizePx + hotseatInset;
} else {
- return LayoutUtils.getShelfTrackingDistance(dp);
+ return LayoutUtils.getShelfTrackingDistance(context, dp);
}
}
diff --git a/quickstep/src/com/android/quickstep/util/LayoutUtils.java b/quickstep/src/com/android/quickstep/util/LayoutUtils.java
index 6ca0dcef2..ed585c1d8 100644
--- a/quickstep/src/com/android/quickstep/util/LayoutUtils.java
+++ b/quickstep/src/com/android/quickstep/util/LayoutUtils.java
@@ -21,14 +21,15 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
+import androidx.annotation.AnyThread;
+import androidx.annotation.IntDef;
+
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.R;
+import com.android.launcher3.config.FeatureFlags;
import java.lang.annotation.Retention;
-import androidx.annotation.AnyThread;
-import androidx.annotation.IntDef;
-
public class LayoutUtils {
private static final int MULTI_WINDOW_STRATEGY_HALF_SCREEN = 1;
@@ -112,7 +113,14 @@ public class LayoutUtils {
Math.round(x + outWidth), Math.round(y + outHeight));
}
- public static int getShelfTrackingDistance(DeviceProfile dp) {
+ public static int getShelfTrackingDistance(Context context, DeviceProfile dp) {
+ if (FeatureFlags.SWIPE_HOME.get()) {
+ // Track the bottom of the window rather than the top of the shelf.
+ int shelfHeight = dp.hotseatBarSizePx + dp.getInsets().bottom;
+ int spaceBetweenShelfAndRecents = (int) context.getResources().getDimension(
+ R.dimen.task_card_vert_space);
+ return shelfHeight + spaceBetweenShelfAndRecents;
+ }
// Start from a third of bottom inset to provide some shelf overlap.
return dp.hotseatBarSizePx + dp.getInsets().bottom / 3 - dp.edgeMarginPx * 2;
}