diff --git a/quickstep/res/layout/activity_allset.xml b/quickstep/res/layout/activity_allset.xml
index 0cae733dbe..56e1d16281 100644
--- a/quickstep/res/layout/activity_allset.xml
+++ b/quickstep/res/layout/activity_allset.xml
@@ -26,7 +26,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/content_view"
- android:fitsSystemWindows="true">
+ android:fitsSystemWindows="false">
@@ -56,9 +56,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
- android:paddingLeft="@dimen/taskbar_nav_buttons_spacing"
- android:paddingRight="@dimen/taskbar_nav_buttons_spacing"
- android:layout_marginEnd="@dimen/taskbar_contextual_button_margin"
android:gravity="center_vertical"
android:layout_gravity="end"/>
@@ -66,8 +63,6 @@
android:id="@+id/end_contextual_buttons"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:paddingLeft="@dimen/taskbar_nav_buttons_spacing"
- android:paddingRight="@dimen/taskbar_nav_buttons_spacing"
android:paddingTop="@dimen/taskbar_contextual_padding_top"
android:gravity="center_vertical"
android:layout_gravity="end"/>
diff --git a/quickstep/res/values-land/dimens.xml b/quickstep/res/values-land/dimens.xml
index 732f511367..83680696ad 100644
--- a/quickstep/res/values-land/dimens.xml
+++ b/quickstep/res/values-land/dimens.xml
@@ -74,4 +74,10 @@
218dp
+
+
+ 94.5dp
+ 94.5dp
+ 84dp
+ 79dp
\ No newline at end of file
diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml
index fa4eaedc88..0232f8652c 100644
--- a/quickstep/res/values/dimens.xml
+++ b/quickstep/res/values/dimens.xml
@@ -250,11 +250,11 @@
48dp
54dp
16dp
- 16dp
+ 16dp
8dp
44dp
- 40dp
- 42dp
+ 47dp
+ 24dp
35dp
24dp
220dp
@@ -268,4 +268,12 @@
48dp
48dp
32dp
+
+
+ 24dp
+ 26dp
+ 26dp
+ 47dp
+ 47dp
+ 47dp
diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java
index ec497ef1f9..e21dcbadf2 100644
--- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java
+++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java
@@ -337,7 +337,7 @@ public abstract class BaseQuickstepLauncher extends Launcher {
new SplitSelectStateController(this, mHandler, getStateManager(),
getDepthController());
overviewPanel.init(mActionsView, controller);
- mActionsView.updateDimension(getDeviceProfile());
+ mActionsView.updateDimension(getDeviceProfile(), overviewPanel.getLastComputedTaskSize());
mActionsView.updateVerticalMargin(DisplayController.getNavigationMode(this));
mAppTransitionManager = new QuickstepTransitionManager(this);
diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
index 17da0d944b..b01168d9af 100644
--- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
@@ -46,6 +46,7 @@ import android.annotation.LayoutRes;
import android.content.pm.ActivityInfo.Config;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.Region;
@@ -67,6 +68,7 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import com.android.launcher3.DeviceProfile;
import com.android.launcher3.LauncherAnimUtils;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
@@ -94,7 +96,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
private final Rect mTempRect = new Rect();
- private static final int FLAG_SWITCHER_SUPPORTED = 1 << 0;
+ private static final int FLAG_SWITCHER_SHOWING = 1 << 0;
private static final int FLAG_IME_VISIBLE = 1 << 1;
private static final int FLAG_ROTATION_BUTTON_VISIBLE = 1 << 2;
private static final int FLAG_A11Y_VISIBLE = 1 << 3;
@@ -189,7 +191,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
isThreeButtonNav ? mStartContextualContainer : mEndContextualContainer,
mControllers.navButtonController, R.id.ime_switcher);
mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton,
- flags -> ((flags & FLAG_SWITCHER_SUPPORTED) != 0)
+ flags -> ((flags & FLAG_SWITCHER_SHOWING) != 0)
&& ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0)));
}
@@ -228,6 +230,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
if (alwaysShowButtons) {
initButtons(mNavButtonContainer, mEndContextualContainer,
mControllers.navButtonController);
+ updateButtonLayoutSpacing();
if (isInSetup) {
// Since setup wizard only has back button enabled, it looks strange to be
@@ -451,7 +454,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
// TODO(b/202218289) we're getting IME as not visible on lockscreen from system
updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible);
- updateStateForFlag(FLAG_SWITCHER_SUPPORTED, isImeSwitcherShowing);
+ updateStateForFlag(FLAG_SWITCHER_SHOWING, isImeSwitcherShowing);
updateStateForFlag(FLAG_A11Y_VISIBLE, a11yVisible);
updateStateForFlag(FLAG_DISABLE_HOME, isHomeDisabled);
updateStateForFlag(FLAG_DISABLE_RECENTS, isRecentsDisabled);
@@ -465,6 +468,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
boolean a11yLongClickable =
(sysUiStateFlags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0;
mA11yButton.setLongClickable(a11yLongClickable);
+ updateButtonLayoutSpacing();
}
}
@@ -479,6 +483,13 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
}
}
+ /**
+ * @return {@code true} if A11y is showing in 3 button nav taskbar
+ */
+ private boolean isContextualButtonShowing() {
+ return mContext.isThreeButtonNav() && (mState & FLAG_A11Y_VISIBLE) != 0;
+ }
+
/**
* Should be called when we need to show back button for bouncer
*/
@@ -508,7 +519,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
* Returns true if IME switcher is visible
*/
public boolean isImeSwitcherVisible() {
- return (mState & FLAG_SWITCHER_SUPPORTED) != 0;
+ return (mState & FLAG_SWITCHER_SHOWING) != 0;
}
/**
@@ -662,6 +673,46 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
if (mFloatingRotationButton != null) {
mFloatingRotationButton.onConfigurationChanged(configChanges);
}
+ updateButtonLayoutSpacing();
+ }
+
+ /** Adds the correct spacing to 3 button nav container. No-op if using gesture nav */
+ private void updateButtonLayoutSpacing() {
+ if (!mContext.isThreeButtonNav()) {
+ return;
+ }
+ DeviceProfile dp = mContext.getDeviceProfile();
+ Resources res = mContext.getResources();
+
+ // Add spacing after the end of the last nav button
+ FrameLayout.LayoutParams navButtonParams =
+ (FrameLayout.LayoutParams) mNavButtonContainer.getLayoutParams();
+ int navMarginEnd = (int) res.getDimension(dp.inv.inlineNavButtonsEndSpacing);
+ int contextualWidth = mEndContextualContainer.getWidth();
+ // If contextual buttons are showing, we check if the end margin is enough for the
+ // contextual button to be showing - if not, move the nav buttons over a smidge
+ if (isContextualButtonShowing() && navMarginEnd < contextualWidth) {
+ // Additional spacing, eat up half of space between last icon and nav button
+ navMarginEnd += res.getDimensionPixelSize(R.dimen.taskbar_hotseat_nav_spacing) / 2;
+ }
+ navButtonParams.setMarginEnd(navMarginEnd);
+ mNavButtonContainer.setLayoutParams(navButtonParams);
+
+ // Add the spaces in between the nav buttons
+ int spaceInBetween = res.getDimensionPixelSize(R.dimen.taskbar_button_space_inbetween);
+ for (int i = 0; i < mNavButtonContainer.getChildCount(); i++) {
+ View navButton = mNavButtonContainer.getChildAt(i);
+ LinearLayout.LayoutParams buttonLayoutParams =
+ (LinearLayout.LayoutParams) navButton.getLayoutParams();
+ if (i == 0) {
+ buttonLayoutParams.setMarginEnd(spaceInBetween / 2);
+ } else if (i == mNavButtonContainer.getChildCount() - 1) {
+ buttonLayoutParams.setMarginStart(spaceInBetween / 2);
+ } else {
+ buttonLayoutParams.setMarginStart(spaceInBetween / 2);
+ buttonLayoutParams.setMarginEnd(spaceInBetween / 2);
+ }
+ }
}
public void onDestroy() {
@@ -734,22 +785,17 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "NavbarButtonsViewController:");
- pw.println(String.format("%s\tmState=%s", prefix, getStateString(mState)));
- pw.println(String.format(
- "%s\tmLightIconColor=0x%s", prefix, Integer.toHexString(mLightIconColor)));
- pw.println(String.format(
- "%s\tmDarkIconColor=0x%s", prefix, Integer.toHexString(mDarkIconColor)));
- pw.println(String.format(
- "%s\tmFloatingRotationButtonBounds=%s", prefix, mFloatingRotationButtonBounds));
- pw.println(String.format(
- "%s\tmSysuiStateFlags=%s",
- prefix,
- QuickStepContract.getSystemUiStateString(mSysuiStateFlags)));
+ pw.println(prefix + "\tmState=" + getStateString(mState));
+ pw.println(prefix + "\tmLightIconColor=" + Integer.toHexString(mLightIconColor));
+ pw.println(prefix + "\tmDarkIconColor=" + Integer.toHexString(mDarkIconColor));
+ pw.println(prefix + "\tmFloatingRotationButtonBounds=" + mFloatingRotationButtonBounds);
+ pw.println(prefix + "\tmSysuiStateFlags=" + QuickStepContract.getSystemUiStateString(
+ mSysuiStateFlags));
}
private static String getStateString(int flags) {
StringJoiner str = new StringJoiner("|");
- appendFlag(str, flags, FLAG_SWITCHER_SUPPORTED, "FLAG_SWITCHER_SUPPORTED");
+ appendFlag(str, flags, FLAG_SWITCHER_SHOWING, "FLAG_SWITCHER_SHOWING");
appendFlag(str, flags, FLAG_IME_VISIBLE, "FLAG_IME_VISIBLE");
appendFlag(str, flags, FLAG_ROTATION_BUTTON_VISIBLE, "FLAG_ROTATION_BUTTON_VISIBLE");
appendFlag(str, flags, FLAG_A11Y_VISIBLE, "FLAG_A11Y_VISIBLE");
diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
index f472427520..800e1629f4 100644
--- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
@@ -209,10 +209,9 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "StashedHandleViewController:");
- pw.println(String.format(
- "%s\tisStashedHandleVisible=%b", prefix, isStashedHandleVisible()));
- pw.println(String.format("%s\tmStashedHandleWidth=%dpx", prefix, mStashedHandleWidth));
- pw.println(String.format("%s\tmStashedHandleHeight=%dpx", prefix, mStashedHandleHeight));
+ pw.println(prefix + "\tisStashedHandleVisible=" + isStashedHandleVisible());
+ pw.println(prefix + "\tmStashedHandleWidth=" + mStashedHandleWidth);
+ pw.println(prefix + "\tmStashedHandleHeight=" + mStashedHandleHeight);
mRegionSamplingHelper.dump(prefix, pw);
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index 6b12e9c164..439490e00c 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -839,6 +839,6 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
pw.println(String.format(
"%s\tmBindInProgress=%b", prefix, mBindingItems));
mControllers.dumpLogs(prefix + "\t", pw);
- mDeviceProfile.dump(this, prefix, pw);
+ mDeviceProfile.dump(prefix, pw);
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java
index c5615c7ba1..3cf9c997c9 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java
@@ -71,8 +71,7 @@ public class TaskbarAutohideSuspendController implements
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarAutohideSuspendController:");
- pw.println(String.format(
- "%s\tmAutohideSuspendFlags=%s", prefix, getStateString(mAutohideSuspendFlags)));
+ pw.println(prefix + "\tmAutohideSuspendFlags=" + getStateString(mAutohideSuspendFlags));
}
private static String getStateString(int flags) {
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java
index 04fcc44b55..3a0f3740a2 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java
@@ -559,13 +559,11 @@ public class TaskbarDragController extends DragController im
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarDragController:");
- pw.println(String.format("%s\tmDragIconSize=%dpx", prefix, mDragIconSize));
- pw.println(String.format("%s\tmTempXY=%s", prefix, Arrays.toString(mTempXY)));
- pw.println(String.format("%s\tmRegistrationX=%d", prefix, mRegistrationX));
- pw.println(String.format("%s\tmRegistrationY=%d", prefix, mRegistrationY));
- pw.println(String.format(
- "%s\tmIsSystemDragInProgress=%b", prefix, mIsSystemDragInProgress));
- pw.println(String.format(
- "%s\tisInternalDragInProgess=%b", prefix, super.isDragging()));
+ pw.println(prefix + "\tmDragIconSize=" + mDragIconSize);
+ pw.println(prefix + "\tmTempXY=" + Arrays.toString(mTempXY));
+ pw.println(prefix + "\tmRegistrationX=" + mRegistrationX);
+ pw.println(prefix + "\tmRegistrationY=" + mRegistrationY);
+ pw.println(prefix + "\tmIsSystemDragInProgress=" + mIsSystemDragInProgress);
+ pw.println(prefix + "\tisInternalDragInProgess=" + super.isDragging());
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
index 99c59a8a98..77ef83cbe4 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
@@ -144,10 +144,9 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarDragLayerController:");
- pw.println(String.format("%s\tmBgOffset=%.2f", prefix, mBgOffset.value));
- pw.println(String.format("%s\tmFolderMargin=%dpx", prefix, mFolderMargin));
- pw.println(String.format(
- "%s\tmLastSetBackgroundAlpha=%.2f", prefix, mLastSetBackgroundAlpha));
+ pw.println(prefix + "\tmBgOffset=" + mBgOffset.value);
+ pw.println(prefix + "\tmFolderMargin=" + mFolderMargin);
+ pw.println(prefix + "\tmLastSetBackgroundAlpha=" + mLastSetBackgroundAlpha);
}
/**
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java
index e29b14b76f..32a3c10d87 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java
@@ -191,12 +191,10 @@ public class TaskbarEduController implements TaskbarControllers.LoggableTaskbarC
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarEduController:");
- pw.println(String.format("%s\tisShowingEdu=%b", prefix, mTaskbarEduView != null));
- pw.println(String.format("%s\tmWaveAnimTranslationY=%.2f", prefix, mWaveAnimTranslationY));
- pw.println(String.format(
- "%s\tmWaveAnimTranslationYReturnOvershoot=%.2f",
- prefix,
- mWaveAnimTranslationYReturnOvershoot));
+ pw.println(prefix + "\tisShowingEdu=" + (mTaskbarEduView != null));
+ pw.println(prefix + "\tmWaveAnimTranslationY=" + mWaveAnimTranslationY);
+ pw.println(prefix + "\tmWaveAnimTranslationYReturnOvershoot="
+ + mWaveAnimTranslationYReturnOvershoot);
}
/**
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java
index 56648eac38..0808faba1c 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java
@@ -111,11 +111,9 @@ public class TaskbarKeyguardController implements TaskbarControllers.LoggableTas
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarKeyguardController:");
- pw.println(String.format(
- "%s\tmKeyguardSysuiFlags=%s",
- prefix,
- QuickStepContract.getSystemUiStateString(mKeyguardSysuiFlags)));
- pw.println(String.format("%s\tmBouncerShowing=%b", prefix, mBouncerShowing));
- pw.println(String.format("%s\tmIsScreenOff=%b", prefix, mIsScreenOff));
+ pw.println(prefix + "\tmKeyguardSysuiFlags=" + QuickStepContract.getSystemUiStateString(
+ mKeyguardSysuiFlags));
+ pw.println(prefix + "\tmBouncerShowing=" + mBouncerShowing);
+ pw.println(prefix + "\tmIsScreenOff=" + mIsScreenOff);
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
index ff11f67b3e..85e76b26d4 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
@@ -35,6 +35,7 @@ import com.android.launcher3.BaseQuickstepLauncher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.QuickstepTransitionManager;
import com.android.launcher3.Utilities;
+import com.android.launcher3.anim.AnimatorListeners;
import com.android.launcher3.statemanager.StateManager;
import com.android.launcher3.util.MultiValueAlpha;
import com.android.quickstep.AnimatedFloat;
@@ -367,11 +368,14 @@ import java.util.function.Supplier;
private void playStateTransitionAnim(AnimatorSet animatorSet, long duration,
boolean committed) {
boolean isInStashedState = mLauncherState.isTaskbarStashed(mLauncher);
- float toAlignment = mLauncherState.isTaskbarAlignedWithHotseat(mLauncher) ? 1 : 0;
+ boolean willStashVisually =
+ isInStashedState && mControllers.taskbarStashController.supportsVisualStashing();
+ float toAlignment =
+ mLauncherState.isTaskbarAlignedWithHotseat(mLauncher) && !willStashVisually ? 1 : 0;
- TaskbarStashController controller = mControllers.taskbarStashController;
- controller.updateStateForFlag(FLAG_IN_STASHED_LAUNCHER_STATE, isInStashedState);
- Animator stashAnimator = controller.applyStateWithoutStart(duration);
+ TaskbarStashController stashController = mControllers.taskbarStashController;
+ stashController.updateStateForFlag(FLAG_IN_STASHED_LAUNCHER_STATE, isInStashedState);
+ Animator stashAnimator = stashController.applyStateWithoutStart(duration);
if (stashAnimator != null) {
stashAnimator.addListener(new AnimatorListenerAdapter() {
@Override
@@ -391,9 +395,13 @@ import java.util.function.Supplier;
});
animatorSet.play(stashAnimator);
}
-
- // If we're already animating to the value, just leave it be instead of restarting it.
+ if (mIconAlignmentForLauncherState.value == toAlignment) {
+ // Already at expected value, but make sure we run the callback at the end.
+ animatorSet.addListener(AnimatorListeners.forEndCallback(
+ this::onIconAlignmentRatioChangedForStateTransition));
+ }
if (!mIconAlignmentForLauncherState.isAnimatingToValue(toAlignment)) {
+ // If we're already animating to the value, just leave it be instead of restarting it.
mIconAlignmentForLauncherState.finishAnimation();
animatorSet.play(mIconAlignmentForLauncherState.animateToValue(toAlignment)
.setDuration(duration));
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java
index 3392b6b887..60f50a9689 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java
@@ -18,7 +18,6 @@ package com.android.launcher3.taskbar;
import static com.android.internal.app.AssistUtils.INVOCATION_TYPE_HOME_BUTTON_LONG_PRESS;
import static com.android.internal.app.AssistUtils.INVOCATION_TYPE_KEY;
-import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_A11Y_BUTTON_LONGPRESS;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_A11Y_BUTTON_TAP;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_BACK_BUTTON_LONGPRESS;
@@ -28,6 +27,7 @@ import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCH
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_TAP;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_OVERVIEW_BUTTON_LONGPRESS;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_OVERVIEW_BUTTON_TAP;
+import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING;
import android.os.Bundle;
@@ -72,9 +72,8 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarNavButtonController:");
- pw.println(String.format(
- "%s\tmLastScreenPinLongPress=%dms", prefix, mLastScreenPinLongPress));
- pw.println(String.format("%s\tmScreenPinned=%b", prefix, mScreenPinned));
+ pw.println(prefix + "\tmLastScreenPinLongPress=" + mLastScreenPinLongPress);
+ pw.println(prefix + "\tmScreenPinned=" + mScreenPinned);
}
@Retention(RetentionPolicy.SOURCE)
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java
index 58ace17787..c3b0f57c2d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java
@@ -98,6 +98,6 @@ public class TaskbarScrimViewController implements TaskbarControllers.LoggableTa
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarScrimViewController:");
- pw.println(String.format("%s\tmScrimAlpha.value=%.2f", prefix, mScrimAlpha.value));
+ pw.println(prefix + "\tmScrimAlpha.value=" + mScrimAlpha.value);
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
index 2b8fdd102f..513f1bbed0 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
@@ -728,16 +728,14 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarStashController:");
- pw.println(String.format("%s\tmStashedHeight=%dpx", prefix, mStashedHeight));
- pw.println(String.format("%s\tmUnstashedHeight=%dpx", prefix, mUnstashedHeight));
- pw.println(String.format("%s\tmIsStashed=%b", prefix, mIsStashed));
- pw.println(String.format(
- "%s\tappliedState=%s", prefix, getStateString(mStatePropertyHolder.mPrevFlags)));
- pw.println(String.format("%s\tmState=%s", prefix, getStateString(mState)));
- pw.println(String.format(
- "%s\tmIsSystemGestureInProgress=%b", prefix, mIsSystemGestureInProgress));
- pw.println(String.format("%s\tmIsImeShowing=%b", prefix, mIsImeShowing));
- pw.println(String.format("%s\tmIsImeSwitcherShowing=%b", prefix, mIsImeSwitcherShowing));
+ pw.println(prefix + "\tmStashedHeight=" + mStashedHeight);
+ pw.println(prefix + "\tmUnstashedHeight=" + mUnstashedHeight);
+ pw.println(prefix + "\tmIsStashed=" + mIsStashed);
+ pw.println(prefix + "\tappliedState=" + getStateString(mStatePropertyHolder.mPrevFlags));
+ pw.println(prefix + "\tmState=" + getStateString(mState));
+ pw.println(prefix + "\tmIsSystemGestureInProgress=" + mIsSystemGestureInProgress);
+ pw.println(prefix + "\tmIsImeShowing=" + mIsImeShowing);
+ pw.println(prefix + "\tmIsImeSwitcherShowing=" + mIsImeSwitcherShowing);
}
private static String getStateString(int flags) {
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
index db7dc78f7b..6d45fd2d5c 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
@@ -373,6 +373,19 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
@Override
public void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarViewController:");
+
+ mTaskbarIconAlpha.dump(
+ prefix + "\t",
+ pw,
+ "mTaskbarIconAlpha",
+ "ALPHA_INDEX_HOME",
+ "ALPHA_INDEX_KEYGUARD",
+ "ALPHA_INDEX_STASH",
+ "ALPHA_INDEX_RECENTS_DISABLED",
+ "ALPHA_INDEX_NOTIFICATION_EXPANDED",
+ "ALPHA_INDEX_ASSISTANT_INVOKED",
+ "ALPHA_INDEX_IME_BUTTON_NAV");
+
mModelCallbacks.dumpLogs(prefix + "\t", pw);
}
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java b/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java
index 297a61a38d..b7330072d4 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java
@@ -50,7 +50,8 @@ public class BackgroundAppState extends OverviewState {
return super.getVerticalProgress(launcher);
}
RecentsView recentsView = launcher.getOverviewPanel();
- int transitionLength = LayoutUtils.getShelfTrackingDistance(launcher.getDeviceProfile(),
+ int transitionLength = LayoutUtils.getShelfTrackingDistance(launcher,
+ launcher.getDeviceProfile(),
recentsView.getPagedOrientationHandler());
AllAppsTransitionController controller = launcher.getAllAppsController();
float scrollRange = Math.max(controller.getShiftRange(), 1);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java
index 0f02e2663e..0c49e5fc69 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java
@@ -18,6 +18,8 @@ package com.android.launcher3.uioverrides.states;
import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_OVERVIEW;
import android.content.Context;
+import android.graphics.Point;
+import android.graphics.Rect;
import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.Launcher;
@@ -69,6 +71,13 @@ public class OverviewModalTaskState extends OverviewState {
}
public static float[] getOverviewScaleAndOffsetForModalState(BaseDraggingActivity activity) {
- return new float[] {activity.getDeviceProfile().overviewModalTaskScale, NO_OFFSET};
+ Point taskSize = activity.getOverviewPanel().getSelectedTaskSize();
+ Rect modalTaskSize = new Rect();
+ activity.getOverviewPanel().getModalTaskSize(modalTaskSize);
+
+ float scale = Math.min((float) modalTaskSize.height() / taskSize.y,
+ (float) modalTaskSize.width() / taskSize.x);
+
+ return new float[] {scale, NO_OFFSET};
}
}
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java
index c0810b929e..c4c903815e 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java
@@ -22,12 +22,10 @@ import android.content.Context;
import android.graphics.Rect;
import android.os.SystemProperties;
-import com.android.launcher3.BaseQuickstepLauncher;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.R;
-import com.android.launcher3.taskbar.LauncherTaskbarUIController;
import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.Themes;
import com.android.quickstep.util.LayoutUtils;
@@ -65,9 +63,12 @@ public class OverviewState extends LauncherState {
@Override
public ScaleAndTranslation getWorkspaceScaleAndTranslation(Launcher launcher) {
+ RecentsView recentsView = launcher.getOverviewPanel();
+ float workspacePageHeight = launcher.getDeviceProfile().getCellLayoutHeight();
+ recentsView.getTaskSize(sTempRect);
+ float scale = (float) sTempRect.height() / workspacePageHeight;
float parallaxFactor = 0.5f;
- return new ScaleAndTranslation(launcher.getDeviceProfile().overviewTaskWorkspaceScale, 0,
- -getDefaultSwipeHeight(launcher) * parallaxFactor);
+ return new ScaleAndTranslation(scale, 0, -getDefaultSwipeHeight(launcher) * parallaxFactor);
}
@Override
@@ -92,13 +93,7 @@ public class OverviewState extends LauncherState {
@Override
public boolean isTaskbarStashed(Launcher launcher) {
- if (launcher instanceof BaseQuickstepLauncher) {
- LauncherTaskbarUIController uiController =
- ((BaseQuickstepLauncher) launcher).getTaskbarUIController();
-
- return uiController != null && uiController.supportsVisualStashing();
- }
- return super.isTaskbarStashed(launcher);
+ return true;
}
@Override
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
index d06f64a1be..f294986fa3 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
@@ -120,8 +120,8 @@ public class NoButtonQuickSwitchTouchController implements TouchController,
mSwipeDetector = new BothAxesSwipeDetector(mLauncher, this);
mRecentsView = mLauncher.getOverviewPanel();
mXRange = mLauncher.getDeviceProfile().widthPx / 2f;
- mYRange = LayoutUtils.getShelfTrackingDistance(mLauncher.getDeviceProfile(),
- mRecentsView.getPagedOrientationHandler());
+ mYRange = LayoutUtils.getShelfTrackingDistance(
+ mLauncher, mLauncher.getDeviceProfile(), mRecentsView.getPagedOrientationHandler());
mMaxYProgress = mLauncher.getDeviceProfile().heightPx / mYRange;
mMotionPauseDetector = new MotionPauseDetector(mLauncher);
mMotionPauseMinDisplacement = mLauncher.getResources().getDimension(
@@ -232,6 +232,7 @@ public class NoButtonQuickSwitchTouchController implements TouchController,
mRecentsView.setFullscreenProgress(fromState.getOverviewFullscreenProgress());
mLauncher.getActionsView().getVisibilityAlpha().setValue(
(fromState.getVisibleElements(mLauncher) & OVERVIEW_ACTIONS) != 0 ? 1f : 0f);
+ mRecentsView.setTaskIconScaledDown(true);
float[] scaleAndOffset = toState.getOverviewScaleAndOffset(mLauncher);
// As we drag right, animate the following properties:
@@ -321,6 +322,7 @@ public class NoButtonQuickSwitchTouchController implements TouchController,
boolean verticalFling = mSwipeDetector.isFling(velocity.y);
boolean noFling = !horizontalFling && !verticalFling;
if (mMotionPauseDetector.isPaused() && noFling) {
+ // Going to Overview.
cancelAnimations();
StateAnimationConfig config = new StateAnimationConfig();
@@ -331,6 +333,8 @@ public class NoButtonQuickSwitchTouchController implements TouchController,
@Override
public void onAnimationEnd(Animator animation) {
onAnimationToStateCompleted(OVERVIEW);
+ // Animate the icon after onAnimationToStateCompleted() so it doesn't clobber.
+ mRecentsView.animateUpTaskIconScale();
}
});
overviewAnim.start();
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
index 73949457b6..9efbc34a17 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
@@ -144,8 +144,8 @@ public class PortraitStatesTouchController extends AbstractStateChangeTouchContr
.createPlaybackController();
mLauncher.getStateManager().setCurrentUserControlledAnimation(mCurrentAnimation);
RecentsView recentsView = mLauncher.getOverviewPanel();
- totalShift = LayoutUtils.getShelfTrackingDistance(mLauncher.getDeviceProfile(),
- recentsView.getPagedOrientationHandler());
+ totalShift = LayoutUtils.getShelfTrackingDistance(mLauncher,
+ mLauncher.getDeviceProfile(), recentsView.getPagedOrientationHandler());
} else {
mCurrentAnimation = mLauncher.getStateManager()
.createAnimationToNewWorkspace(mToState, config);
diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
index 045530c441..8f1872b11e 100644
--- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
+++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
@@ -2049,8 +2049,8 @@ public abstract class AbsSwipeUpHandler,
float scrollOffset = Math.abs(mRecentsView.getScrollOffset(mRecentsView.getCurrentPage()));
int maxScrollOffset = mRecentsView.getPagedOrientationHandler().getPrimaryValue(
- mActivity.getDeviceProfile().overviewTaskRect.width(),
- mActivity.getDeviceProfile().overviewTaskRect.height());
+ mRecentsView.getLastComputedTaskSize().width(),
+ mRecentsView.getLastComputedTaskSize().height());
maxScrollOffset += mRecentsView.getPageSpacing();
float maxScaleProgress =
diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
index a922f58993..6354282d47 100644
--- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java
+++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
@@ -33,9 +33,12 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.annotation.TargetApi;
import android.content.Context;
+import android.content.res.Resources;
import android.graphics.Color;
+import android.graphics.PointF;
import android.graphics.Rect;
import android.os.Build;
+import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
@@ -43,6 +46,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.UiThread;
import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.R;
import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.statehandlers.DepthController;
@@ -105,8 +109,8 @@ public abstract class BaseActivityInterface PendingAnimation createRecentsResistanceAnim(
RecentsParams params) {
- Rect startRect = new Rect(params.dp.overviewTaskRect);
+ Rect startRect = new Rect();
PagedOrientationHandler orientationHandler = params.recentsOrientedState
.getOrientationHandler();
+ LauncherActivityInterface.INSTANCE.calculateTaskSize(params.context, params.dp, startRect);
long distanceToCover = startRect.bottom;
PendingAnimation resistAnim = params.resistAnim != null
? params.resistAnim
diff --git a/quickstep/src/com/android/quickstep/util/LayoutUtils.java b/quickstep/src/com/android/quickstep/util/LayoutUtils.java
index d4eb880c61..d0856bed20 100644
--- a/quickstep/src/com/android/quickstep/util/LayoutUtils.java
+++ b/quickstep/src/com/android/quickstep/util/LayoutUtils.java
@@ -16,6 +16,7 @@
package com.android.quickstep.util;
import android.content.Context;
+import android.graphics.Rect;
import android.view.View;
import android.view.ViewGroup;
@@ -23,6 +24,7 @@ import com.android.launcher3.DeviceProfile;
import com.android.launcher3.touch.PagedOrientationHandler;
import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.DisplayController.NavigationMode;
+import com.android.quickstep.LauncherActivityInterface;
public class LayoutUtils {
@@ -37,12 +39,12 @@ public class LayoutUtils {
return swipeHeight;
}
- /**
- * Returns the shelf tracking distance.
- */
- public static int getShelfTrackingDistance(DeviceProfile dp,
+ public static int getShelfTrackingDistance(Context context, DeviceProfile dp,
PagedOrientationHandler orientationHandler) {
- return orientationHandler.getDistanceToBottomOfRect(dp, dp.overviewTaskRect);
+ // Track the bottom of the window.
+ Rect taskSize = new Rect();
+ LauncherActivityInterface.INSTANCE.calculateTaskSize(context, dp, taskSize);
+ return orientationHandler.getDistanceToBottomOfRect(dp, taskSize);
}
/**
diff --git a/quickstep/src/com/android/quickstep/util/RecentsOrientedState.java b/quickstep/src/com/android/quickstep/util/RecentsOrientedState.java
index 39e379771a..dec934a87b 100644
--- a/quickstep/src/com/android/quickstep/util/RecentsOrientedState.java
+++ b/quickstep/src/com/android/quickstep/util/RecentsOrientedState.java
@@ -25,6 +25,7 @@ import static android.view.Surface.ROTATION_90;
import static com.android.launcher3.states.RotationHelper.ALLOW_ROTATION_PREFERENCE_KEY;
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
import static com.android.launcher3.util.SettingsCache.ROTATION_SETTING_URI;
+import static com.android.quickstep.BaseActivityInterface.getTaskDimension;
import static java.lang.annotation.RetentionPolicy.SOURCE;
@@ -397,8 +398,8 @@ public class RecentsOrientedState implements
* Returns the scale and pivot so that the provided taskRect can fit the provided full size
*/
public float getFullScreenScaleAndPivot(Rect taskView, DeviceProfile dp, PointF outPivot) {
- float scale = Math.min(dp.taskDimension.x / taskView.width(),
- dp.taskDimension.y / taskView.height());
+ getTaskDimension(dp, outPivot);
+ float scale = Math.min(outPivot.x / taskView.width(), outPivot.y / taskView.height());
if (scale == 1) {
outPivot.set(taskView.centerX(), taskView.centerY());
} else {
diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
index c626b0ac81..d37300c7eb 100644
--- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
+++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
@@ -22,6 +22,7 @@ import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITIO
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT;
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_UNDEFINED;
import static com.android.launcher3.util.SplitConfigurationOptions.StagePosition;
+import static com.android.quickstep.TaskAnimationManager.ENABLE_SHELL_TRANSITIONS;
import static com.android.quickstep.util.RecentsOrientedState.postDisplayRotation;
import static com.android.quickstep.util.RecentsOrientedState.preDisplayRotation;
import static com.android.systemui.shared.system.WindowManagerWrapper.WINDOWING_MODE_FULLSCREEN;
@@ -144,8 +145,12 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
if (mDp == null) {
return 1;
}
- mTaskRect.set(
- mIsGridTask ? mDp.getOverviewGridTaskRect(mIsRecentsRtl) : mDp.overviewTaskRect);
+ if (mIsGridTask) {
+ mSizeStrategy.calculateGridTaskSize(mContext, mDp, mTaskRect,
+ mOrientationState.getOrientationHandler());
+ } else {
+ mSizeStrategy.calculateTaskSize(mContext, mDp, mTaskRect);
+ }
Rect fullTaskSize;
if (mSplitBounds != null) {
@@ -387,7 +392,14 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
.withCornerRadius(getCurrentCornerRadius());
if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
- builder.withLayer(mDrawsBelowRecents ? Integer.MIN_VALUE + 1 : Integer.MAX_VALUE);
+ // In legacy transitions, the animation leashes remain in same hierarchy in the
+ // TaskDisplayArea, so we don't want to bump the layer too high otherwise it will
+ // conflict with layers that WM core positions (ie. the input consumers). For shell
+ // transitions, the animation leashes are reparented to an animation container so we
+ // can bump layers as needed.
+ builder.withLayer(mDrawsBelowRecents
+ ? Integer.MIN_VALUE + 1
+ : ENABLE_SHELL_TRANSITIONS ? Integer.MAX_VALUE : 0);
}
}
diff --git a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
index c178175c7b..62ec0ef1df 100644
--- a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
+++ b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
@@ -93,6 +93,7 @@ public class OverviewActionsView extends FrameLayo
@Nullable
protected DeviceProfile mDp;
+ private final Rect mTaskSize = new Rect();
public OverviewActionsView(Context context) {
this(context, null);
@@ -243,15 +244,16 @@ public class OverviewActionsView extends FrameLayo
}
// Align to bottom of task Rect.
- return mDp.heightPx - mDp.overviewTaskRect.bottom - mDp.overviewActionsTopMarginPx
+ return mDp.heightPx - mTaskSize.bottom - mDp.overviewActionsTopMarginPx
- mDp.overviewActionsHeight;
}
/**
- * Updates device profile for this view to draw with.
+ * Updates device profile and task size for this view to draw with.
*/
- public void updateDimension(DeviceProfile dp) {
+ public void updateDimension(DeviceProfile dp, Rect taskSize) {
mDp = dp;
+ mTaskSize.set(taskSize);
updateVerticalMargin(DisplayController.getNavigationMode(getContext()));
requestLayout();
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index dc886f6151..cf93857cfd 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -428,6 +428,9 @@ public abstract class RecentsView= 0) {
taskView = getTaskViewAt(--targetPage);
}
- DeviceProfile dp = mActivity.getDeviceProfile();
- Rect gridTaskRect = dp.getOverviewGridTaskRect(mIsRtl);
// Target a scroll where targetPage is on left of screen but still fully visible.
- int lastTaskEnd = (mIsRtl ? dp.overviewGridRect.left : dp.overviewGridRect.right)
+ int lastTaskEnd = (mIsRtl
+ ? mLastComputedGridSize.left
+ : mLastComputedGridSize.right)
+ (mIsRtl ? mPageSpacing : -mPageSpacing);
- int normalTaskEnd = mIsRtl ? gridTaskRect.left : gridTaskRect.right;
+ int normalTaskEnd = mIsRtl
+ ? mLastComputedGridTaskSize.left
+ : mLastComputedGridTaskSize.right;
int targetScroll = getScrollForPage(targetPage) + normalTaskEnd - lastTaskEnd;
// Find a page that is close to targetScroll while not over it.
while (targetPage - 1 >= 0
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java
index ba56af13d3..5602d8889c 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskView.java
@@ -1391,8 +1391,9 @@ public class TaskView extends FrameLayout implements Reusable {
DeviceProfile deviceProfile = mActivity.getDeviceProfile();
if (deviceProfile.isTablet) {
final int thumbnailPadding = deviceProfile.overviewTaskThumbnailTopMarginPx;
- final int taskWidth = deviceProfile.overviewTaskRect.width();
- final int taskHeight = deviceProfile.overviewTaskRect.height();
+ final Rect lastComputedTaskSize = getRecentsView().getLastComputedTaskSize();
+ final int taskWidth = lastComputedTaskSize.width();
+ final int taskHeight = lastComputedTaskSize.height();
int boxWidth;
int boxHeight;
@@ -1403,9 +1404,10 @@ public class TaskView extends FrameLayout implements Reusable {
boxWidth = taskWidth;
boxHeight = taskHeight;
} else {
- // Otherwise task is in grid.
- boxWidth = deviceProfile.overviewGridTaskDimension.x;
- boxHeight = deviceProfile.overviewGridTaskDimension.y;
+ // Otherwise task is in grid, and should use lastComputedGridTaskSize.
+ Rect lastComputedGridTaskSize = getRecentsView().getLastComputedGridTaskSize();
+ boxWidth = lastComputedGridTaskSize.width();
+ boxHeight = lastComputedGridTaskSize.height();
}
// Bound width/height to the box size.
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfilePhone3ButtonTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfilePhone3ButtonTest.kt
index 588e346a79..3daf81d8a6 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfilePhone3ButtonTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfilePhone3ButtonTest.kt
@@ -483,114 +483,4 @@ class DeviceProfilePhone3ButtonTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(0)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(280)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(1440)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(2768)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(1440)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(3120)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(231)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(414)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(1209)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(2533)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(450)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(976)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(182)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(202)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(1258)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(2533)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(759)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(414)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(1209)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(1390)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.86595833f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1000472f)
- }
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfilePhoneTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfilePhoneTest.kt
index f91d03d50c..e588c71277 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfilePhoneTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfilePhoneTest.kt
@@ -483,114 +483,4 @@ class DeviceProfilePhoneTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(0)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(280)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(1440)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(2768)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(1440)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(3120)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(231)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(414)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(1209)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(2533)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(450)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(976)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(182)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(202)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(1258)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(2533)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(759)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(414)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(1209)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(1390)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.86595833f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1000472f)
- }
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscape3ButtonTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscape3ButtonTest.kt
index 2d9e263a93..d0c9346e5a 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscape3ButtonTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscape3ButtonTest.kt
@@ -461,7 +461,7 @@ class DeviceProfileTabletLandscape3ButtonTest : DeviceProfileBaseTest() {
@Test
fun getHotseatLayoutPaddingLeft() {
- assertThat(dp.getHotseatLayoutPadding(context).left).isEqualTo(1443)
+ assertThat(dp.getHotseatLayoutPadding(context).left).isEqualTo(1305)
}
@Test
@@ -471,7 +471,7 @@ class DeviceProfileTabletLandscape3ButtonTest : DeviceProfileBaseTest() {
@Test
fun getHotseatLayoutPaddingRight() {
- assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(428)
+ assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(566)
}
@Test
@@ -481,116 +481,6 @@ class DeviceProfileTabletLandscape3ButtonTest : DeviceProfileBaseTest() {
@Test
fun hotseatBarEndOffset() {
- assertThat(dp.hotseatBarEndOffset).isEqualTo(428)
- }
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(2432)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(1340)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(2560)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(1480)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(384)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(232)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(2176)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(1268)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(723)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(418)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(294)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(128)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(2266)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(1268)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(1453)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(232)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(2176)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(650)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.7363184f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1003861f)
+ assertThat(dp.hotseatBarEndOffset).isEqualTo(566)
}
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscapeTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscapeTest.kt
index 3add2c7269..456ed2cfc0 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscapeTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletLandscapeTest.kt
@@ -483,114 +483,4 @@ class DeviceProfileTabletLandscapeTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(2432)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(1416)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(2560)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(1480)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(384)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(270)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(2176)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(1306)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(723)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(418)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(294)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(166)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(2266)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(1306)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(1453)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(270)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(2176)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(688)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.7363184f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1003861f)
- }
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortrait3ButtonTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortrait3ButtonTest.kt
index 7f0d6ca022..eed359896f 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortrait3ButtonTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortrait3ButtonTest.kt
@@ -481,116 +481,6 @@ class DeviceProfileTabletPortrait3ButtonTest : DeviceProfileBaseTest() {
@Test
fun hotseatBarEndOffset() {
- assertThat(dp.hotseatBarEndOffset).isEqualTo(428)
- }
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(1472)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(2292)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(1600)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(2440)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(240)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(372)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(1360)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(2080)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(494)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(754)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(184)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(201)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(1416)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(2080)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(866)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(372)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(1360)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(1126)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.7686769f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1f)
+ assertThat(dp.hotseatBarEndOffset).isEqualTo(502)
}
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortraitTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortraitTest.kt
index 1a709e6f7a..4be3e45dce 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortraitTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTabletPortraitTest.kt
@@ -483,114 +483,4 @@ class DeviceProfileTabletPortraitTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(1472)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(2368)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(1600)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(2440)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(240)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(410)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(1360)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(2118)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(494)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(754)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(184)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(239)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(1416)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(2118)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(866)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(410)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(1360)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(1164)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.7686769f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1f)
- }
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscape3ButtonTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscape3ButtonTest.kt
index 0eeb23dede..6728540f71 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscape3ButtonTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscape3ButtonTest.kt
@@ -481,116 +481,6 @@ class DeviceProfileTwoPanelLandscape3ButtonTest : DeviceProfileBaseTest() {
@Test
fun hotseatBarEndOffset() {
- assertThat(dp.hotseatBarEndOffset).isEqualTo(428)
- }
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(2432)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(1340)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(2560)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(1480)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(384)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(232)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(2176)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(1268)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(723)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(418)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(294)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(128)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(2266)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(1268)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(1453)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(232)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(2176)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(650)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.8526749f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1003861f)
+ assertThat(dp.hotseatBarEndOffset).isEqualTo(566)
}
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscapeTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscapeTest.kt
index 7bf53d7453..ba3ef55e3c 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscapeTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelLandscapeTest.kt
@@ -483,114 +483,4 @@ class DeviceProfileTwoPanelLandscapeTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(2432)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(1416)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(2560)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(1480)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(384)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(270)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(2176)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(1306)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(723)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(418)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(294)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(166)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(2266)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(1306)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(1453)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(270)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(2176)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(688)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.8526749f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1003861f)
- }
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortrait3ButtonTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortrait3ButtonTest.kt
index 9b6d7d55f2..a4b446aea1 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortrait3ButtonTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortrait3ButtonTest.kt
@@ -461,7 +461,7 @@ class DeviceProfileTwoPanelPortrait3ButtonTest : DeviceProfileBaseTest() {
@Test
fun getHotseatLayoutPaddingLeft() {
- assertThat(dp.getHotseatLayoutPadding(context).left).isEqualTo(340)
+ assertThat(dp.getHotseatLayoutPadding(context).left).isEqualTo(266)
}
@Test
@@ -471,7 +471,7 @@ class DeviceProfileTwoPanelPortrait3ButtonTest : DeviceProfileBaseTest() {
@Test
fun getHotseatLayoutPaddingRight() {
- assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(428)
+ assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(502)
}
@Test
@@ -481,116 +481,6 @@ class DeviceProfileTwoPanelPortrait3ButtonTest : DeviceProfileBaseTest() {
@Test
fun hotseatBarEndOffset() {
- assertThat(dp.hotseatBarEndOffset).isEqualTo(428)
- }
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(1472)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(2292)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(1600)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(2440)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(240)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(372)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(1360)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(2080)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(494)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(754)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(184)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(201)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(1416)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(2080)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(866)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(372)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(1360)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(1126)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.7874597f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1f)
+ assertThat(dp.hotseatBarEndOffset).isEqualTo(502)
}
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortraitTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortraitTest.kt
index 6702eb5d46..0c5968e1ef 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortraitTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileTwoPanelPortraitTest.kt
@@ -483,114 +483,4 @@ class DeviceProfileTwoPanelPortraitTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(128)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(160)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(1472)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(2368)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(1600)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(2440)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(240)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(410)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(1360)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(2118)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(494)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(754)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(184)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(239)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(1416)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(2118)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(866)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(410)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(1360)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(1164)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.7874597f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1f)
- }
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBar3ButtonTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBar3ButtonTest.kt
index 7e0c5f3b9b..2bad6bb20b 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBar3ButtonTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBar3ButtonTest.kt
@@ -483,114 +483,4 @@ class DeviceProfileVerticalBar3ButtonTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(0)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(280)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(3120)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(1130)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(3120)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(1440)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(747)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(280)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(2372)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(1030)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(631)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(291)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(666)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(205)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(2454)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(1030)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(1741)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(280)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(2372)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(571)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.5597015f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1f)
- }
}
\ No newline at end of file
diff --git a/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBarTest.kt b/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBarTest.kt
index 9580458a13..6256a43f75 100644
--- a/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBarTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/DeviceProfileVerticalBarTest.kt
@@ -483,114 +483,4 @@ class DeviceProfileVerticalBarTest : DeviceProfileBaseTest() {
fun hotseatBarEndOffset() {
assertThat(dp.hotseatBarEndOffset).isEqualTo(0)
}
-
- @Test
- fun overviewGridRectLeft() {
- assertThat(dp.overviewGridRect.left).isEqualTo(0)
- }
-
- @Test
- fun overviewGridRectTop() {
- assertThat(dp.overviewGridRect.top).isEqualTo(280)
- }
-
- @Test
- fun overviewGridRectRight() {
- assertThat(dp.overviewGridRect.right).isEqualTo(3120)
- }
-
- @Test
- fun overviewGridRectBottom() {
- assertThat(dp.overviewGridRect.bottom).isEqualTo(1130)
- }
-
- @Test
- fun taskDimensionX() {
- assertThat(dp.taskDimension.x).isEqualTo(3120)
- }
-
- @Test
- fun taskDimensionY() {
- assertThat(dp.taskDimension.y).isEqualTo(1440)
- }
-
- @Test
- fun overviewTaskRectLeft() {
- assertThat(dp.overviewTaskRect.left).isEqualTo(747)
- }
-
- @Test
- fun overviewTaskRectTop() {
- assertThat(dp.overviewTaskRect.top).isEqualTo(280)
- }
-
- @Test
- fun overviewTaskRectRight() {
- assertThat(dp.overviewTaskRect.right).isEqualTo(2372)
- }
-
- @Test
- fun overviewTaskRectBottom() {
- assertThat(dp.overviewTaskRect.bottom).isEqualTo(1030)
- }
-
- @Test
- fun overviewGridTaskDimensionX() {
- assertThat(dp.overviewGridTaskDimension.x).isEqualTo(631)
- }
-
- @Test
- fun overviewGridTaskDimensionY() {
- assertThat(dp.overviewGridTaskDimension.y).isEqualTo(291)
- }
-
- @Test
- fun overviewModalTaskRectLeft() {
- assertThat(dp.overviewModalTaskRect.left).isEqualTo(666)
- }
-
- @Test
- fun overviewModalTaskRectTop() {
- assertThat(dp.overviewModalTaskRect.top).isEqualTo(205)
- }
-
- @Test
- fun overviewModalTaskRectRight() {
- assertThat(dp.overviewModalTaskRect.right).isEqualTo(2454)
- }
-
- @Test
- fun overviewModalTaskRectBottom() {
- assertThat(dp.overviewModalTaskRect.bottom).isEqualTo(1030)
- }
-
- @Test
- fun getGridTaskRectLeft() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).left).isEqualTo(1741)
- }
-
- @Test
- fun getGridTaskRectTop() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).top).isEqualTo(280)
- }
-
- @Test
- fun getGridTaskRectRight() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).right).isEqualTo(2372)
- }
-
- @Test
- fun getGridTaskRectBottom() {
- assertThat(dp.getOverviewGridTaskRect(isRecentsRtl).bottom).isEqualTo(571)
- }
-
- @Test
- fun overviewTaskScale() {
- assertThat(dp.overviewTaskWorkspaceScale).isEqualTo(0.5597015f)
- }
-
- @Test
- fun overviewModalTaskScale() {
- assertThat(dp.overviewModalTaskScale).isEqualTo(1.1f)
- }
}
\ No newline at end of file
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index e5b588ccf8..3b7158547c 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -176,6 +176,10 @@
+
+
+
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index dc80bc3df0..b19e73920b 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -363,6 +363,12 @@
0dp
0dp
0dp
+ 0dp
+ 0dp
+ 0dp
+ 0dp
+ 0dp
+ 0dp
16dp
@@ -383,9 +389,6 @@
0dp
0dp
0dp
- 0dp
- - 0.0
- - 0.0
72dp
16dp
44dp
diff --git a/res/xml/device_profiles.xml b/res/xml/device_profiles.xml
index 5ee291b08e..0238e7d972 100644
--- a/res/xml/device_profiles.xml
+++ b/res/xml/device_profiles.xml
@@ -26,7 +26,7 @@
launcher:numHotseatIcons="3"
launcher:dbFile="launcher_3_by_3.db"
launcher:defaultLayoutId="@xml/default_workspace_3x3"
- launcher:deviceCategory="phone|multi_display" >
+ launcher:deviceCategory="phone" >
@@ -121,6 +122,7 @@
launcher:numFolderColumns="4"
launcher:numHotseatIcons="5"
launcher:dbFile="launcher.db"
+ launcher:inlineNavButtonsEndSpacing="@dimen/taskbar_button_margin_5_5"
launcher:defaultLayoutId="@xml/default_workspace_5x5"
launcher:deviceCategory="phone|multi_display" >
@@ -167,6 +169,7 @@
launcher:hotseatColumnSpanLandscape="4"
launcher:numAllAppsColumns="6"
launcher:isScalable="true"
+ launcher:inlineNavButtonsEndSpacing="@dimen/taskbar_button_margin_6_5"
launcher:devicePaddingId="@xml/paddings_6x5"
launcher:dbFile="launcher_6_by_5.db"
launcher:defaultLayoutId="@xml/default_workspace_6x5"
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index d09642a225..3a2227afe4 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -34,7 +34,6 @@ import android.graphics.Point;
import android.graphics.PointF;
import android.graphics.Rect;
import android.util.DisplayMetrics;
-import android.view.Gravity;
import android.view.Surface;
import com.android.launcher3.CellLayout.ContainerType;
@@ -42,7 +41,6 @@ import com.android.launcher3.DevicePaddings.DevicePadding;
import com.android.launcher3.icons.DotRenderer;
import com.android.launcher3.icons.GraphicsUtils;
import com.android.launcher3.icons.IconNormalizer;
-import com.android.launcher3.touch.PortraitPagedViewHandler;
import com.android.launcher3.uioverrides.ApiWrapper;
import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.DisplayController.Info;
@@ -204,12 +202,6 @@ public class DeviceProfile {
public int overviewPageSpacing;
public int overviewRowSpacing;
public int overviewGridSideMargin;
- public final Rect overviewGridRect = new Rect();
- public final Rect overviewTaskRect = new Rect();
- public final float overviewTaskWorkspaceScale;
- public final Point overviewGridTaskDimension = new Point();
- public final Rect overviewModalTaskRect = new Rect();
- public final float overviewModalTaskScale;
// Widgets
public final PointF appWidgetScale = new PointF(1.0f, 1.0f);
@@ -236,9 +228,6 @@ public class DeviceProfile {
public DotRenderer mDotRendererWorkSpace;
public DotRenderer mDotRendererAllApps;
- // Tasks
- public final PointF taskDimension = new PointF();
-
// Taskbar
public boolean isTaskbarPresent;
// Whether Taskbar will inset the bottom of apps by taskbarSize.
@@ -424,11 +413,13 @@ public class DeviceProfile {
if (areNavButtonsInline) {
/*
* 3 nav buttons +
+ * Spacing between nav buttons +
* Little space at the end for contextual buttons +
* Little space between icons and nav buttons
*/
hotseatBarEndOffset = 3 * res.getDimensionPixelSize(R.dimen.taskbar_nav_buttons_size)
- + res.getDimensionPixelSize(R.dimen.taskbar_contextual_button_margin)
+ + 2 * res.getDimensionPixelSize(R.dimen.taskbar_button_space_inbetween)
+ + res.getDimensionPixelSize(inv.inlineNavButtonsEndSpacing)
+ res.getDimensionPixelSize(R.dimen.taskbar_hotseat_nav_spacing);
} else {
hotseatBarEndOffset = 0;
@@ -492,104 +483,6 @@ public class DeviceProfile {
mDotRendererWorkSpace = new DotRenderer(iconSizePx, dotPath, DEFAULT_DOT_SIZE);
mDotRendererAllApps = iconSizePx == allAppsIconSizePx ? mDotRendererWorkSpace :
new DotRenderer(allAppsIconSizePx, dotPath, DEFAULT_DOT_SIZE);
-
- // Grid and Task size calculations
- calculateGridSize();
- getTaskDimension();
- calculateTaskSize(res);
- calculateGridTaskSize();
- calculateModalTaskSize(res);
- overviewModalTaskScale =
- Math.min(overviewModalTaskRect.height() / (float) overviewTaskRect.height(),
- overviewModalTaskRect.width() / (float) overviewTaskRect.width());
- overviewTaskWorkspaceScale = (float) overviewTaskRect.height() / getCellLayoutHeight();
- }
-
- private void calculateGridSize() {
- int topMargin = overviewTaskThumbnailTopMarginPx;
- int bottomMargin = getOverviewActionsClaimedSpace();
- int sideMargin = overviewGridSideMargin;
-
- overviewGridRect.set(0, 0, widthPx, heightPx);
- overviewGridRect.inset(Math.max(mInsets.left, sideMargin), mInsets.top + topMargin,
- Math.max(mInsets.right, sideMargin), Math.max(mInsets.bottom, bottomMargin));
- }
-
- private void calculateTaskSize(Resources res) {
- int overviewMinNextPrevSize =
- res.getDimensionPixelSize(R.dimen.overview_minimum_next_prev_size);
- float overviewMaxScale = res.getFloat(R.dimen.overview_max_scale);
- Rect containerRect = new Rect();
- if (isTablet) {
- containerRect.set(overviewGridRect);
- } else {
- int taskMargin = overviewTaskMarginPx;
- containerRect.set(0, 0, widthPx, heightPx);
- containerRect.inset(mInsets.left, mInsets.top, mInsets.right, mInsets.bottom);
- int minimumHorizontalPadding = overviewMinNextPrevSize + taskMargin;
- containerRect.inset(minimumHorizontalPadding, overviewTaskThumbnailTopMarginPx,
- minimumHorizontalPadding, getOverviewActionsClaimedSpace());
- }
- float scale = Math.min(
- containerRect.width() / taskDimension.x,
- containerRect.height() / taskDimension.y);
- scale = Math.min(scale, overviewMaxScale);
- int outWidth = Math.round(scale * taskDimension.x);
- int outHeight = Math.round(scale * taskDimension.y);
- Gravity.apply(Gravity.CENTER, outWidth, outHeight, containerRect, overviewTaskRect);
- }
-
- private void calculateGridTaskSize() {
- float rowHeight =
- (overviewTaskRect.height() + overviewTaskThumbnailTopMarginPx - overviewRowSpacing)
- / 2f;
-
- float scale = (rowHeight - overviewTaskThumbnailTopMarginPx) / taskDimension.y;
- overviewGridTaskDimension.set(
- Math.round(scale * taskDimension.x), Math.round(scale * taskDimension.y));
- }
-
- /**
- * Returns a Rect the size of a grid task with the correct positioning within the screen.
- *
- * @param isRecentsRtl is true when device is in LTR, false when in RTL, as grid tasks are only
- * supported on tablets, which use PortraitPagedViewHandler.
- */
- public Rect getOverviewGridTaskRect(boolean isRecentsRtl) {
- Rect outRect = new Rect();
- int gravity = Gravity.TOP;
- gravity |= isRecentsRtl ? Gravity.RIGHT : Gravity.LEFT;
- Gravity.apply(gravity, overviewGridTaskDimension.x, overviewGridTaskDimension.y,
- overviewTaskRect, outRect);
- return outRect;
- }
-
- private void calculateModalTaskSize(Resources res) {
- float overviewModalMaxScale = res.getFloat(R.dimen.overview_modal_max_scale);
- Rect potentialTaskRect = new Rect(0, 0, widthPx, heightPx);
- potentialTaskRect.inset(mInsets.left, mInsets.top, mInsets.right, mInsets.bottom);
- int minimumHorizontalPadding = Math.round(
- (availableWidthPx - overviewTaskRect.width() * overviewModalMaxScale) / 2);
- potentialTaskRect.inset(
- minimumHorizontalPadding,
- overviewTaskMarginPx,
- minimumHorizontalPadding,
- heightPx - overviewTaskRect.bottom - mInsets.bottom);
- float scale = Math.min(
- potentialTaskRect.width() / taskDimension.x,
- potentialTaskRect.height() / taskDimension.y);
- int outWidth = Math.round(scale * taskDimension.x);
- int outHeight = Math.round(scale * taskDimension.y);
- Gravity.apply(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM, outWidth, outHeight,
- potentialTaskRect, overviewModalTaskRect);
- }
-
- private void getTaskDimension() {
- float taskHeight = heightPx;
- if (isTablet) {
- taskHeight -= taskbarSize;
- }
- taskDimension.set(widthPx, taskHeight);
}
/**
@@ -1354,8 +1247,7 @@ public class DeviceProfile {
}
// LINT.IfChange
- /** Dumps various DeviceProfile variables to the specified writer. */
- public void dump(Context context, String prefix, PrintWriter writer) {
+ public void dump(String prefix, PrintWriter writer) {
writer.println(prefix + "DeviceProfile:");
writer.println(prefix + "\t1 dp = " + mMetrics.density + " px");
@@ -1401,12 +1293,9 @@ public class DeviceProfile {
cellLayoutBorderSpacePx.x));
writer.println(prefix + pxToDpStr("cellLayoutBorderSpacePx Vertical",
cellLayoutBorderSpacePx.y));
- writer.println(
- prefix + pxToDpStr("cellLayoutPaddingPx.left", cellLayoutPaddingPx.left));
- writer.println(
- prefix + pxToDpStr("cellLayoutPaddingPx.top", cellLayoutPaddingPx.top));
- writer.println(
- prefix + pxToDpStr("cellLayoutPaddingPx.right", cellLayoutPaddingPx.right));
+ writer.println(prefix + pxToDpStr("cellLayoutPaddingPx.left", cellLayoutPaddingPx.left));
+ writer.println(prefix + pxToDpStr("cellLayoutPaddingPx.top", cellLayoutPaddingPx.top));
+ writer.println(prefix + pxToDpStr("cellLayoutPaddingPx.right", cellLayoutPaddingPx.right));
writer.println(
prefix + pxToDpStr("cellLayoutPaddingPx.bottom", cellLayoutPaddingPx.bottom));
@@ -1440,15 +1329,13 @@ public class DeviceProfile {
writer.println(prefix + pxToDpStr("allAppsBorderSpacePxX", allAppsBorderSpacePx.x));
writer.println(prefix + pxToDpStr("allAppsBorderSpacePxY", allAppsBorderSpacePx.y));
writer.println(prefix + "\tnumShownAllAppsColumns: " + numShownAllAppsColumns);
- writer.println(
- prefix + pxToDpStr("allAppsLeftRightPadding", allAppsLeftRightPadding));
+ writer.println(prefix + pxToDpStr("allAppsLeftRightPadding", allAppsLeftRightPadding));
writer.println(prefix + pxToDpStr("allAppsLeftRightMargin", allAppsLeftRightMargin));
writer.println(prefix + pxToDpStr("hotseatBarSizePx", hotseatBarSizePx));
writer.println(prefix + "\tinv.hotseatColumnSpan: " + inv.hotseatColumnSpan[mTypeIndex]);
writer.println(prefix + pxToDpStr("hotseatCellHeightPx", hotseatCellHeightPx));
- writer.println(
- prefix + pxToDpStr("hotseatBarBottomSpacePx", hotseatBarBottomSpacePx));
+ writer.println(prefix + pxToDpStr("hotseatBarBottomSpacePx", hotseatBarBottomSpacePx));
writer.println(prefix + pxToDpStr("hotseatBarSidePaddingStartPx",
hotseatBarSidePaddingStartPx));
writer.println(prefix + pxToDpStr("hotseatBarSidePaddingEndPx",
@@ -1459,12 +1346,9 @@ public class DeviceProfile {
writer.println(prefix + pxToDpStr("springLoadedHotseatBarTopMarginPx",
springLoadedHotseatBarTopMarginPx));
writer.println(prefix + pxToDpStr("mHotseatBarPadding.top", mHotseatBarPadding.top));
- writer.println(
- prefix + pxToDpStr("mHotseatBarPadding.bottom", mHotseatBarPadding.bottom));
- writer.println(
- prefix + pxToDpStr("mHotseatBarPadding.left", mHotseatBarPadding.left));
- writer.println(
- prefix + pxToDpStr("mHotseatBarPadding.right", mHotseatBarPadding.right));
+ writer.println(prefix + pxToDpStr("mHotseatBarPadding.bottom", mHotseatBarPadding.bottom));
+ writer.println(prefix + pxToDpStr("mHotseatBarPadding.left", mHotseatBarPadding.left));
+ writer.println(prefix + pxToDpStr("mHotseatBarPadding.right", mHotseatBarPadding.right));
writer.println(prefix + "\tnumShownHotseatIcons: " + numShownHotseatIcons);
writer.println(prefix + pxToDpStr("hotseatBorderSpace", hotseatBorderSpace));
writer.println(prefix + "\tisQsbInline: " + isQsbInline);
@@ -1479,14 +1363,12 @@ public class DeviceProfile {
writer.println(prefix + pxToDpStr("workspacePadding.left", workspacePadding.left));
writer.println(prefix + pxToDpStr("workspacePadding.top", workspacePadding.top));
writer.println(prefix + pxToDpStr("workspacePadding.right", workspacePadding.right));
- writer.println(
- prefix + pxToDpStr("workspacePadding.bottom", workspacePadding.bottom));
+ writer.println(prefix + pxToDpStr("workspacePadding.bottom", workspacePadding.bottom));
writer.println(prefix + pxToDpStr("iconScale", iconScale));
writer.println(prefix + pxToDpStr("cellScaleToFit ", cellScaleToFit));
writer.println(prefix + pxToDpStr("extraSpace", extraSpace));
- writer.println(
- prefix + pxToDpStr("unscaled extraSpace", extraSpace / iconScale));
+ writer.println(prefix + pxToDpStr("unscaled extraSpace", extraSpace / iconScale));
if (inv.devicePaddings != null) {
int unscaledExtraSpace = (int) (extraSpace / iconScale);
@@ -1497,8 +1379,7 @@ public class DeviceProfile {
writer.println(prefix + pxToDpStr("workspaceBottomPadding", workspaceBottomPadding));
writer.println(prefix + pxToDpStr("overviewTaskMarginPx", overviewTaskMarginPx));
- writer.println(
- prefix + pxToDpStr("overviewTaskMarginGridPx", overviewTaskMarginGridPx));
+ writer.println(prefix + pxToDpStr("overviewTaskMarginGridPx", overviewTaskMarginGridPx));
writer.println(prefix + pxToDpStr("overviewTaskIconSizePx", overviewTaskIconSizePx));
writer.println(prefix + pxToDpStr("overviewTaskIconDrawableSizePx",
overviewTaskIconDrawableSizePx));
@@ -1516,64 +1397,21 @@ public class DeviceProfile {
writer.println(prefix + pxToDpStr("overviewRowSpacing", overviewRowSpacing));
writer.println(prefix + pxToDpStr("overviewGridSideMargin", overviewGridSideMargin));
- writer.println(
- prefix + pxToDpStr("dropTargetBarTopMarginPx", dropTargetBarTopMarginPx));
+ writer.println(prefix + pxToDpStr("dropTargetBarTopMarginPx", dropTargetBarTopMarginPx));
writer.println(prefix + pxToDpStr("dropTargetBarSizePx", dropTargetBarSizePx));
- writer.println(prefix
- + pxToDpStr("dropTargetBarBottomMarginPx", dropTargetBarBottomMarginPx));
+ writer.println(
+ prefix + pxToDpStr("dropTargetBarBottomMarginPx", dropTargetBarBottomMarginPx));
- writer.println(prefix
- + pxToDpStr("workspaceSpringLoadShrunkTop", mWorkspaceSpringLoadShrunkTop));
+ writer.println(
+ prefix + pxToDpStr("workspaceSpringLoadShrunkTop", mWorkspaceSpringLoadShrunkTop));
writer.println(prefix + pxToDpStr("workspaceSpringLoadShrunkBottom",
mWorkspaceSpringLoadShrunkBottom));
writer.println(prefix + pxToDpStr("workspaceSpringLoadedMinNextPageVisiblePx",
workspaceSpringLoadedMinNextPageVisiblePx));
- writer.println(prefix
- + pxToDpStr("getWorkspaceSpringLoadScale()", getWorkspaceSpringLoadScale()));
+ writer.println(
+ prefix + pxToDpStr("getWorkspaceSpringLoadScale()", getWorkspaceSpringLoadScale()));
writer.println(prefix + pxToDpStr("getCellLayoutHeight()", getCellLayoutHeight()));
writer.println(prefix + pxToDpStr("getCellLayoutWidth()", getCellLayoutWidth()));
-
- writer.println(prefix + pxToDpStr("overviewGridRect.left", overviewGridRect.left));
- writer.println(prefix + pxToDpStr("overviewGridRect.top", overviewGridRect.top));
- writer.println(prefix + pxToDpStr("overviewGridRect.right", overviewGridRect.right));
- writer.println(prefix
- + pxToDpStr("overviewGridRect.bottom", overviewGridRect.bottom));
- writer.println(prefix + pxToDpStr("taskDimension.x", taskDimension.x));
- writer.println(prefix + pxToDpStr("taskDimension.y", taskDimension.y));
- writer.println(prefix + pxToDpStr("overviewTaskRect.left", overviewTaskRect.left));
- writer.println(prefix + pxToDpStr("overviewTaskRect.top", overviewTaskRect.top));
- writer.println(prefix + pxToDpStr("overviewTaskRect.right", overviewTaskRect.right));
- writer.println(prefix
- + pxToDpStr("overviewTaskRect.bottom", overviewTaskRect.bottom));
- writer.println(prefix
- + pxToDpStr("overviewGridTaskDimension.x", overviewGridTaskDimension.x));
- writer.println(prefix
- + pxToDpStr("overviewGridTaskDimension.y", overviewGridTaskDimension.y));
- writer.println(prefix
- + pxToDpStr("overviewModalTaskRect.left", overviewModalTaskRect.left));
- writer.println(prefix
- + pxToDpStr("overviewModalTaskRect.top", overviewModalTaskRect.top));
- writer.println(prefix
- + pxToDpStr("overviewModalTaskRect.right", overviewModalTaskRect.right));
- writer.println(prefix
- + pxToDpStr("overviewModalTaskRect.bottom", overviewModalTaskRect.bottom));
- boolean isRecentsRtl =
- PortraitPagedViewHandler.PORTRAIT.getRecentsRtlSetting(context.getResources());
- writer.println(prefix
- + pxToDpStr("getOverviewGridTaskRect(" + isRecentsRtl + ").left",
- getOverviewGridTaskRect(isRecentsRtl).left));
- writer.println(prefix
- + pxToDpStr("getOverviewGridTaskRect(" + isRecentsRtl + ").top",
- getOverviewGridTaskRect(isRecentsRtl).top));
- writer.println(prefix
- + pxToDpStr("getOverviewGridTaskRect(" + isRecentsRtl + ").right",
- getOverviewGridTaskRect(isRecentsRtl).right));
- writer.println(prefix
- + pxToDpStr("getOverviewGridTaskRect(" + isRecentsRtl + ").bottom",
- getOverviewGridTaskRect(isRecentsRtl).bottom));
- writer.println(
- prefix + pxToDpStr("overviewTaskWorkspaceScale", overviewTaskWorkspaceScale));
- writer.println(prefix + pxToDpStr("overviewModalTaskScale", overviewModalTaskScale));
}
// LINT.ThenChange(
// packages/apps/Launcher3/quickstep/tests/src/com/android/quickstep/DeviceProfilePhoneTest.kt,
diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java
index 2085b84ac5..c051292512 100644
--- a/src/com/android/launcher3/InvariantDeviceProfile.java
+++ b/src/com/android/launcher3/InvariantDeviceProfile.java
@@ -127,6 +127,7 @@ public class InvariantDeviceProfile {
public PointF[] borderSpaces;
public float folderBorderSpace;
public float[] hotseatBorderSpaces;
+ public int inlineNavButtonsEndSpacing;
public float[] horizontalMargin;
@@ -339,6 +340,8 @@ public class InvariantDeviceProfile {
devicePaddingId = closestProfile.devicePaddingId;
this.deviceType = deviceType;
+ inlineNavButtonsEndSpacing = closestProfile.inlineNavButtonsEndSpacing;
+
mExtraAttrs = closestProfile.extraAttrs;
iconSize = displayOption.iconSizes;
@@ -735,6 +738,7 @@ public class InvariantDeviceProfile {
private final int[] hotseatColumnSpan = new int[COUNT_SIZES];
+ private int inlineNavButtonsEndSpacing;
private final String dbFile;
private final int defaultLayoutId;
@@ -785,6 +789,9 @@ public class InvariantDeviceProfile {
R.styleable.GridDisplayOption_hotseatColumnSpanTwoPanelPortrait,
numColumns);
+ inlineNavButtonsEndSpacing =
+ a.getResourceId(R.styleable.GridDisplayOption_inlineNavButtonsEndSpacing,
+ R.dimen.taskbar_button_margin_default);
numFolderRows = a.getInt(
R.styleable.GridDisplayOption_numFolderRows, numRows);
numFolderColumns = a.getInt(
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 528613c032..9c622512a4 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3024,7 +3024,7 @@ public class Launcher extends StatefulActivity
mDragLayer.dump(prefix, writer);
mStateManager.dump(prefix, writer);
mPopupDataProvider.dump(prefix, writer);
- mDeviceProfile.dump(this, prefix, writer);
+ mDeviceProfile.dump(prefix, writer);
try {
FileLog.flushAll(writer);
diff --git a/src/com/android/launcher3/LauncherState.java b/src/com/android/launcher3/LauncherState.java
index ea6a9199d7..8b5cdbd9e2 100644
--- a/src/com/android/launcher3/LauncherState.java
+++ b/src/com/android/launcher3/LauncherState.java
@@ -208,14 +208,18 @@ public abstract class LauncherState implements BaseState {
return (getVisibleElements(launcher) & elements) == elements;
}
- /** Returns whether taskbar is stashed and thus should replace hotseat with a handle */
+ /**
+ * Returns whether taskbar is stashed and thus should either:
+ * 1) replace hotseat or taskbar icons with a handle in gesture navigation mode or
+ * 2) fade out the hotseat or taskbar icons in 3-button navigation mode.
+ */
public boolean isTaskbarStashed(Launcher launcher) {
return false;
}
/** Returns whether taskbar is aligned with the hotseat vs position inside apps */
public boolean isTaskbarAlignedWithHotseat(Launcher launcher) {
- return !isTaskbarStashed(launcher);
+ return true;
}
/**
diff --git a/src/com/android/launcher3/util/MultiValueAlpha.java b/src/com/android/launcher3/util/MultiValueAlpha.java
index 11cd07c838..4b46a0a04c 100644
--- a/src/com/android/launcher3/util/MultiValueAlpha.java
+++ b/src/com/android/launcher3/util/MultiValueAlpha.java
@@ -23,6 +23,7 @@ import android.view.View;
import com.android.launcher3.anim.AlphaUpdateListener;
+import java.io.PrintWriter;
import java.util.Arrays;
import java.util.function.Consumer;
@@ -78,6 +79,29 @@ public class MultiValueAlpha {
mUpdateVisibility = updateVisibility;
}
+ /**
+ * Dumps the alpha channel values to the given PrintWriter
+ *
+ * @param prefix String to be used before every line
+ * @param pw PrintWriter where the logs should be dumped
+ * @param label String used to help identify this object
+ * @param alphaIndexLabels Strings that represent each alpha channel, these should be entered
+ * in the order of the indexes they represent, starting from 0.
+ */
+ public void dump(String prefix, PrintWriter pw, String label, String... alphaIndexLabels) {
+ pw.println(prefix + label);
+
+ String innerPrefix = prefix + '\t';
+ for (int i = 0; i < alphaIndexLabels.length; i++) {
+ if (i >= mMyProperties.length) {
+ pw.println(innerPrefix + alphaIndexLabels[i] + " given for alpha index " + i
+ + " however there are only " + mMyProperties.length + " alpha channels.");
+ continue;
+ }
+ pw.println(innerPrefix + alphaIndexLabels[i] + "=" + getProperty(i).getValue());
+ }
+ }
+
public class AlphaProperty {
private final int mMyMask;
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java b/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java
index 67157494d8..c8b5e2fa37 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java
+++ b/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java
@@ -17,7 +17,6 @@
package com.android.launcher3.uioverrides;
import android.app.Person;
-import android.content.Context;
import android.content.pm.ShortcutInfo;
import com.android.launcher3.Utilities;
@@ -29,11 +28,4 @@ public class ApiWrapper {
public static Person[] getPersons(ShortcutInfo si) {
return Utilities.EMPTY_PERSON_ARRAY;
}
-
- /**
- * Returns the minimum space that should be left empty at the end of hotseat
- */
- public static int getHotseatEndOffset(Context context) {
- return 0;
- }
}
diff --git a/tests/src/com/android/launcher3/DeviceProfileBaseTest.kt b/tests/src/com/android/launcher3/DeviceProfileBaseTest.kt
index ba813c0d4a..7465db5e34 100644
--- a/tests/src/com/android/launcher3/DeviceProfileBaseTest.kt
+++ b/tests/src/com/android/launcher3/DeviceProfileBaseTest.kt
@@ -37,7 +37,6 @@ abstract class DeviceProfileBaseTest {
protected var transposeLayoutWithOrientation: Boolean = false
protected var useTwoPanels: Boolean = false
protected var isGestureMode: Boolean = true
- protected var isRecentsRtl: Boolean = true
@Before
fun setUp() {
@@ -136,6 +135,7 @@ abstract class DeviceProfileBaseTest {
hotseatBorderSpaces = FloatArray(4) { 16f }
hotseatColumnSpan = IntArray(4) { 4 }
hotseatBarBottomSpace = FloatArray(4) { 48f }
+ inlineNavButtonsEndSpacing = R.dimen.taskbar_button_margin_4_4
hotseatQsbSpace = FloatArray(4) { 36f }
iconSize = FloatArray(4) { 56f }
allAppsIconSize = FloatArray(4) { 56f }
@@ -164,7 +164,7 @@ abstract class DeviceProfileBaseTest {
fun dump(dp: DeviceProfile): StringWriter {
val stringWriter = StringWriter()
val printWriter = PrintWriter(stringWriter)
- dp.dump(context, "", printWriter)
+ dp.dump("", printWriter)
printWriter.flush()
return stringWriter
}