diff options
author | Tony Wickham <twickham@google.com> | 2019-01-10 12:35:37 -0800 |
---|---|---|
committer | Tony Wickham <twickham@google.com> | 2019-01-11 00:46:24 +0000 |
commit | 68a716c5caed0c6fd65d7ee14967b528cd5a826b (patch) | |
tree | 467bed22a439cf6a8873793dfa9a52d08e2c3835 /quickstep | |
parent | e873c9623c4209d8c59828936e28216cae272d2f (diff) | |
download | android_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')
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; } |