Merge "Revert "Move BaseActivityInterface task size methods to DevicePr..."" into tm-qpr-dev am: 66bac181ac

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/19398184

Change-Id: Iaadadc947c57e60c445b78d8bbb763559704adc3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Alex Chau
2022-07-26 09:58:49 +00:00
committed by Automerger Merge Worker
37 changed files with 307 additions and 1598 deletions
@@ -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);
@@ -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);
}
}
@@ -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);
@@ -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.<RecentsView>getOverviewPanel().getSelectedTaskSize();
Rect modalTaskSize = new Rect();
activity.<RecentsView>getOverviewPanel().getModalTaskSize(modalTaskSize);
float scale = Math.min((float) modalTaskSize.height() / taskSize.y,
(float) modalTaskSize.width() / taskSize.x);
return new float[] {scale, NO_OFFSET};
}
}
@@ -65,9 +65,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
@@ -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(
@@ -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);
@@ -2049,8 +2049,8 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
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 =
@@ -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<STATE_TYPE extends BaseState<STATE_T
activity.getStateManager().goToState(startState, activityVisible);
}
/** Gets swipe-up destination and length. */
public abstract int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context,
public abstract int getSwipeUpDestinationAndLength(
DeviceProfile dp, Context context, Rect outRect,
PagedOrientationHandler orientationHandler);
/** Called when the animation to home has fully settled. */
@@ -210,6 +214,129 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T
recentsView.switchToScreenshot(thumbnailDatas, runnable);
}
/**
* Calculates the taskView size for the provided device configuration.
*/
public final void calculateTaskSize(Context context, DeviceProfile dp, Rect outRect) {
Resources res = context.getResources();
float maxScale = res.getFloat(R.dimen.overview_max_scale);
if (dp.isTablet) {
Rect gridRect = new Rect();
calculateGridSize(dp, gridRect);
calculateTaskSizeInternal(context, dp, gridRect, maxScale, Gravity.CENTER, outRect);
} else {
int taskMargin = dp.overviewTaskMarginPx;
calculateTaskSizeInternal(context, dp,
dp.overviewTaskThumbnailTopMarginPx,
dp.getOverviewActionsClaimedSpace(),
res.getDimensionPixelSize(R.dimen.overview_minimum_next_prev_size) + taskMargin,
maxScale,
Gravity.CENTER,
outRect);
}
}
private void calculateTaskSizeInternal(Context context, DeviceProfile dp, int claimedSpaceAbove,
int claimedSpaceBelow, int minimumHorizontalPadding, float maxScale, int gravity,
Rect outRect) {
Rect insets = dp.getInsets();
Rect potentialTaskRect = new Rect(0, 0, dp.widthPx, dp.heightPx);
potentialTaskRect.inset(insets.left, insets.top, insets.right, insets.bottom);
potentialTaskRect.inset(
minimumHorizontalPadding,
claimedSpaceAbove,
minimumHorizontalPadding,
claimedSpaceBelow);
calculateTaskSizeInternal(context, dp, potentialTaskRect, maxScale, gravity, outRect);
}
private void calculateTaskSizeInternal(Context context, DeviceProfile dp,
Rect potentialTaskRect, float maxScale, int gravity, Rect outRect) {
PointF taskDimension = getTaskDimension(dp);
float scale = Math.min(
potentialTaskRect.width() / taskDimension.x,
potentialTaskRect.height() / taskDimension.y);
scale = Math.min(scale, maxScale);
int outWidth = Math.round(scale * taskDimension.x);
int outHeight = Math.round(scale * taskDimension.y);
Gravity.apply(gravity, outWidth, outHeight, potentialTaskRect, outRect);
}
private static PointF getTaskDimension(DeviceProfile dp) {
PointF dimension = new PointF();
getTaskDimension(dp, dimension);
return dimension;
}
/**
* Gets the dimension of the task in the current system state.
*/
public static void getTaskDimension(DeviceProfile dp, PointF out) {
out.x = dp.widthPx;
out.y = dp.heightPx;
if (dp.isTablet) {
out.y -= dp.taskbarSize;
}
}
/**
* Calculates the overview grid size for the provided device configuration.
*/
public final void calculateGridSize(DeviceProfile dp, Rect outRect) {
Rect insets = dp.getInsets();
int topMargin = dp.overviewTaskThumbnailTopMarginPx;
int bottomMargin = dp.getOverviewActionsClaimedSpace();
int sideMargin = dp.overviewGridSideMargin;
outRect.set(0, 0, dp.widthPx, dp.heightPx);
outRect.inset(Math.max(insets.left, sideMargin), insets.top + topMargin,
Math.max(insets.right, sideMargin), Math.max(insets.bottom, bottomMargin));
}
/**
* Calculates the overview grid non-focused task size for the provided device configuration.
*/
public final void calculateGridTaskSize(Context context, DeviceProfile dp, Rect outRect,
PagedOrientationHandler orientedState) {
Resources res = context.getResources();
Rect taskRect = new Rect();
calculateTaskSize(context, dp, taskRect);
float rowHeight =
(taskRect.height() + dp.overviewTaskThumbnailTopMarginPx - dp.overviewRowSpacing)
/ 2f;
PointF taskDimension = getTaskDimension(dp);
float scale = (rowHeight - dp.overviewTaskThumbnailTopMarginPx) / taskDimension.y;
int outWidth = Math.round(scale * taskDimension.x);
int outHeight = Math.round(scale * taskDimension.y);
int gravity = Gravity.TOP;
gravity |= orientedState.getRecentsRtlSetting(res) ? Gravity.RIGHT : Gravity.LEFT;
Gravity.apply(gravity, outWidth, outHeight, taskRect, outRect);
}
/**
* Calculates the modal taskView size for the provided device configuration
*/
public final void calculateModalTaskSize(Context context, DeviceProfile dp, Rect outRect) {
calculateTaskSize(context, dp, outRect);
float maxScale = context.getResources().getFloat(R.dimen.overview_modal_max_scale);
calculateTaskSizeInternal(
context, dp,
dp.overviewTaskMarginPx,
dp.heightPx - outRect.bottom - dp.getInsets().bottom,
Math.round((dp.availableWidthPx - outRect.width() * maxScale) / 2),
1f /*maxScale*/,
Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM,
outRect);
}
/**
* Called when the gesture ends and the animation starts towards the given target. Used to add
* an optional additional animation with the same duration.
@@ -60,13 +60,13 @@ public final class FallbackActivityInterface extends
/** 2 */
@Override
public int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context,
public int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context, Rect outRect,
PagedOrientationHandler orientationHandler) {
calculateTaskSize(context, dp, outRect);
if (dp.isVerticalBarLayout() && DisplayController.getNavigationMode(context) != NO_BUTTON) {
return dp.isSeascape()
? dp.overviewTaskRect.left : (dp.widthPx - dp.overviewTaskRect.right);
return dp.isSeascape() ? outRect.left : (dp.widthPx - outRect.right);
} else {
return dp.heightPx - dp.overviewTaskRect.bottom;
return dp.heightPx - outRect.bottom;
}
}
@@ -70,14 +70,14 @@ public final class LauncherActivityInterface extends
}
@Override
public int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context,
public int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context, Rect outRect,
PagedOrientationHandler orientationHandler) {
calculateTaskSize(context, dp, outRect);
if (dp.isVerticalBarLayout()
&& DisplayController.getNavigationMode(context) != NavigationMode.NO_BUTTON) {
return dp.isSeascape()
? dp.overviewTaskRect.left : (dp.widthPx - dp.overviewTaskRect.right);
return dp.isSeascape() ? outRect.left : (dp.widthPx - outRect.right);
} else {
return LayoutUtils.getShelfTrackingDistance(dp, orientationHandler);
return LayoutUtils.getShelfTrackingDistance(context, dp, orientationHandler);
}
}
@@ -2,6 +2,7 @@ package com.android.quickstep;
import android.app.Activity;
import android.content.Context;
import android.graphics.Rect;
import android.os.Bundle;
import androidx.annotation.Nullable;
@@ -31,7 +32,8 @@ public class QuickstepTestInformationHandler extends TestInformationHandler {
}
case TestProtocol.REQUEST_BACKGROUND_TO_OVERVIEW_SWIPE_HEIGHT: {
final float swipeHeight = LayoutUtils.getShelfTrackingDistance(mDeviceProfile,
final float swipeHeight =
LayoutUtils.getShelfTrackingDistance(mContext, mDeviceProfile,
PagedOrientationHandler.PORTRAIT);
response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, (int) swipeHeight);
return response;
@@ -41,8 +43,10 @@ public class QuickstepTestInformationHandler extends TestInformationHandler {
if (!mDeviceProfile.isTablet) {
return null;
}
response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD,
mDeviceProfile.overviewTaskRect.height());
Rect focusedTaskRect = new Rect();
LauncherActivityInterface.INSTANCE.calculateTaskSize(mContext, mDeviceProfile,
focusedTaskRect);
response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, focusedTaskRect.height());
return response;
}
@@ -50,10 +54,10 @@ public class QuickstepTestInformationHandler extends TestInformationHandler {
if (!mDeviceProfile.isTablet) {
return null;
}
boolean isRecentsRtl = PagedOrientationHandler.PORTRAIT.getRecentsRtlSetting(
mContext.getResources());
response.putParcelable(TestProtocol.TEST_INFO_RESPONSE_FIELD,
mDeviceProfile.getOverviewGridTaskRect(isRecentsRtl));
Rect gridTaskRect = new Rect();
LauncherActivityInterface.INSTANCE.calculateGridTaskSize(mContext, mDeviceProfile,
gridTaskRect, PagedOrientationHandler.PORTRAIT);
response.putParcelable(TestProtocol.TEST_INFO_RESPONSE_FIELD, gridTaskRect);
return response;
}
@@ -49,6 +49,7 @@ import java.util.function.Consumer;
public abstract class SwipeUpAnimationLogic implements
RecentsAnimationCallbacks.RecentsAnimationListener{
protected static final Rect TEMP_RECT = new Rect();
protected final RemoteTargetGluer mTargetGluer;
protected DeviceProfile mDp;
@@ -91,7 +92,7 @@ public abstract class SwipeUpAnimationLogic implements
protected void initTransitionEndpoints(DeviceProfile dp) {
mDp = dp;
mTransitionDragLength = mGestureState.getActivityInterface().getSwipeUpDestinationAndLength(
dp, mContext, mRemoteTargetHandles[0].getTaskViewSimulator()
dp, mContext, TEMP_RECT, mRemoteTargetHandles[0].getTaskViewSimulator()
.getOrientationState().getOrientationHandler());
mDragLengthFactor = (float) dp.heightPx / mTransitionDragLength;
@@ -1015,7 +1015,7 @@ public class TouchInteractionService extends Service
pw.println("ProtoTrace:");
pw.println(" file=" + ProtoTracer.INSTANCE.get(this).getTraceFile());
if (createdOverviewActivity != null) {
createdOverviewActivity.getDeviceProfile().dump(this, "", pw);
createdOverviewActivity.getDeviceProfile().dump("", pw);
}
mTaskbarManager.dumpLogs("", pw);
}
@@ -36,6 +36,7 @@ import com.android.launcher3.Utilities;
import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.touch.PagedOrientationHandler;
import com.android.quickstep.LauncherActivityInterface;
import com.android.quickstep.views.RecentsView;
/**
@@ -154,9 +155,10 @@ public class AnimatorControllerWithResistance {
*/
public static <SCALE, TRANSLATION> PendingAnimation createRecentsResistanceAnim(
RecentsParams<SCALE, TRANSLATION> 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
@@ -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);
}
/**
@@ -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 {
@@ -144,8 +144,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) {
@@ -93,6 +93,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> 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<T extends OverlayUICallbacks> 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();
@@ -428,6 +428,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
@Nullable
protected RemoteTargetHandle[] mRemoteTargetHandles;
protected final Rect mLastComputedTaskSize = new Rect();
protected final Rect mLastComputedGridSize = new Rect();
protected final Rect mLastComputedGridTaskSize = new Rect();
// How much a task that is directly offscreen will be pushed out due to RecentsView scale/pivot.
@Nullable
protected Float mLastComputedTaskStartPushOutDistance = null;
@@ -1136,8 +1139,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
int targetScroll = getScrollForPage(indexOfChild(getFocusedTaskView()));
if (!isClearAllHidden) {
int clearAllWidth = mOrientationHandler.getPrimarySize(mClearAllButton);
int taskGridHorizontalDiff = mActivity.getDeviceProfile().overviewTaskRect.right
- mActivity.getDeviceProfile().overviewGridRect.right;
int taskGridHorizontalDiff = mLastComputedTaskSize.right - mLastComputedGridSize.right;
int clearAllFocusScrollDiff = taskGridHorizontalDiff - clearAllWidth;
targetScroll += mIsRtl ? clearAllFocusScrollDiff : -clearAllFocusScrollDiff;
}
@@ -1676,7 +1678,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
// Update RecentsView and TaskView's DeviceProfile dependent layout.
updateOrientationHandler();
mActionsView.updateDimension(dp);
mActionsView.updateDimension(dp, mLastComputedTaskSize);
}
private void updateOrientationHandler() {
@@ -1732,7 +1734,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
// Update task size and padding that are dependent on DeviceProfile and insets.
private void updateSizeAndPadding() {
DeviceProfile dp = mActivity.getDeviceProfile();
mTempRect.set(dp.overviewTaskRect);
getTaskSize(mTempRect);
mTaskWidth = mTempRect.width();
mTaskHeight = mTempRect.height();
@@ -1741,9 +1743,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
dp.widthPx - mInsets.right - mTempRect.right,
dp.heightPx - mInsets.bottom - mTempRect.bottom);
mTaskGridVerticalDiff = dp.getOverviewGridTaskRect(mIsRtl).top - dp.overviewTaskRect.top;
mSizeStrategy.calculateGridSize(mActivity.getDeviceProfile(),
mLastComputedGridSize);
mSizeStrategy.calculateGridTaskSize(mActivity, mActivity.getDeviceProfile(),
mLastComputedGridTaskSize, mOrientationHandler);
mTaskGridVerticalDiff = mLastComputedGridTaskSize.top - mLastComputedTaskSize.top;
mTopBottomRowHeightDiff =
dp.overviewGridTaskDimension.y + dp.overviewTaskThumbnailTopMarginPx
mLastComputedGridTaskSize.height() + dp.overviewTaskThumbnailTopMarginPx
+ dp.overviewRowSpacing;
// Force TaskView to update size from thumbnail
@@ -1785,6 +1792,34 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
updateGridProperties(isTaskDismissal);
}
public void getTaskSize(Rect outRect) {
mSizeStrategy.calculateTaskSize(mActivity, mActivity.getDeviceProfile(), outRect);
mLastComputedTaskSize.set(outRect);
}
/**
* Returns the size of task selected to enter modal state.
*/
public Point getSelectedTaskSize() {
mSizeStrategy.calculateTaskSize(mActivity, mActivity.getDeviceProfile(),
mTempRect);
return new Point(mTempRect.width(), mTempRect.height());
}
/** Gets the last computed task size */
public Rect getLastComputedTaskSize() {
return mLastComputedTaskSize;
}
public Rect getLastComputedGridTaskSize() {
return mLastComputedGridTaskSize;
}
/** Gets the task size for modal state. */
public void getModalTaskSize(Rect outRect) {
mSizeStrategy.calculateModalTaskSize(mActivity, mActivity.getDeviceProfile(), outRect);
}
@Override
protected boolean computeScrollHelper() {
boolean scrolling = super.computeScrollHelper();
@@ -2417,8 +2452,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
return;
}
DeviceProfile dp = mActivity.getDeviceProfile();
int taskTopMargin = dp.overviewTaskThumbnailTopMarginPx;
int taskTopMargin = mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx;
int topRowWidth = 0;
int bottomRowWidth = 0;
@@ -2461,7 +2495,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
gridTranslations[i] += mIsRtl ? taskWidthAndSpacing : -taskWidthAndSpacing;
// Center view vertically in case it's from different orientation.
taskView.setGridTranslationY((dp.overviewTaskRect.height() + taskTopMargin
taskView.setGridTranslationY((mLastComputedTaskSize.height() + taskTopMargin
- taskView.getLayoutParams().height) / 2f);
if (taskView == snappedTaskView) {
@@ -2577,11 +2611,11 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
// accordingly. Update longRowWidth if ClearAllButton has been moved.
float clearAllShortTotalCompensation = 0;
int longRowWidth = Math.max(topRowWidth, bottomRowWidth);
if (longRowWidth < dp.overviewGridRect.width()) {
float shortTotalCompensation = dp.overviewGridRect.width() - longRowWidth;
if (longRowWidth < mLastComputedGridSize.width()) {
float shortTotalCompensation = mLastComputedGridSize.width() - longRowWidth;
clearAllShortTotalCompensation =
mIsRtl ? -shortTotalCompensation : shortTotalCompensation;
longRowWidth = dp.overviewGridRect.width();
longRowWidth = mLastComputedGridSize.width();
}
float clearAllTotalTranslationX =
@@ -2598,8 +2632,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
if (snappedTaskView != null) {
int distanceFromClearAll = longRowWidth - snappedTaskRowWidth + mPageSpacing;
// ClearAllButton should be off screen when snapped task is in its snapped position.
int minimumDistance = mTaskWidth - snappedTaskView.getLayoutParams().width
+ (dp.overviewGridRect.width() - mTaskWidth) / 2;
int minimumDistance =
mTaskWidth - snappedTaskView.getLayoutParams().width
+ (mLastComputedGridSize.width() - mTaskWidth) / 2;
if (distanceFromClearAll < minimumDistance) {
int distanceDifference = minimumDistance - distanceFromClearAll;
snappedTaskGridTranslationX += mIsRtl ? distanceDifference : -distanceDifference;
@@ -2614,9 +2649,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
mClearAllButton.setGridTranslationPrimary(
clearAllTotalTranslationX - snappedTaskGridTranslationX);
mClearAllButton.setGridScrollOffset(mIsRtl
? dp.overviewTaskRect.left - dp.overviewGridRect.left
: dp.overviewTaskRect.right - dp.overviewGridRect.right);
mClearAllButton.setGridScrollOffset(
mIsRtl ? mLastComputedTaskSize.left - mLastComputedGridSize.left
: mLastComputedTaskSize.right - mLastComputedGridSize.right);
setGridProgress(mGridProgress);
}
@@ -2869,8 +2904,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
boolean closeGapBetweenClearAll = false;
boolean isClearAllHidden = isClearAllHidden();
boolean snapToLastTask = false;
DeviceProfile dp = mActivity.getDeviceProfile();
boolean isLandscapeSplit = dp.isLandscape && isSplitSelectionActive();
boolean isLandscapeSplit =
mActivity.getDeviceProfile().isLandscape && isSplitSelectionActive();
boolean isSplitPlaceholderFirstInGrid = isSplitPlaceholderFirstInGrid();
boolean isSplitPlaceholderLastInGrid = isSplitPlaceholderLastInGrid();
TaskView lastGridTaskView = showAsGrid ? getLastGridTaskView() : null;
@@ -3061,7 +3096,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
dismissTranslationInterpolationEnd);
if (taskView == nextFocusedTaskView) {
// Enlarge the task to be focused next, and translate into focus position.
float scale = mTaskWidth / (float) dp.overviewGridTaskDimension.x;
float scale = mTaskWidth / (float) mLastComputedGridTaskSize.width();
anim.setFloat(taskView, TaskView.SNAPSHOT_SCALE, scale,
clampToProgress(LINEAR, animationStartProgress,
dismissTranslationInterpolationEnd));
@@ -3317,7 +3352,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
// Update various scroll-dependent UI.
dispatchScrollChanged();
updateActionsViewFocusedScroll();
if (isClearAllHidden() && !dp.isTablet) {
if (isClearAllHidden() && !mActivity.getDeviceProfile().isTablet) {
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING,
false);
}
@@ -3715,6 +3750,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
updateEmptyStateUi(changed);
// Update the pivots such that when the task is scaled, it fills the full page
getTaskSize(mTempRect);
updatePivots();
setTaskModalness(mTaskModalness);
mLastComputedTaskStartPushOutDistance = null;
@@ -3728,13 +3764,12 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
}
private void updatePivots() {
DeviceProfile dp = mActivity.getDeviceProfile();
if (mOverviewSelectEnabled) {
setPivotX(dp.overviewTaskRect.centerX());
setPivotY(dp.overviewTaskRect.bottom);
setPivotX(mLastComputedTaskSize.centerX());
setPivotY(mLastComputedTaskSize.bottom);
} else {
getPagedViewOrientedState().getFullScreenScaleAndPivot(dp.overviewTaskRect, dp,
mTempPointF);
getPagedViewOrientedState().getFullScreenScaleAndPivot(mTempRect,
mActivity.getDeviceProfile(), mTempPointF);
setPivotX(mTempPointF.x);
setPivotY(mTempPointF.y);
}
@@ -4007,8 +4042,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
}
public void initiateSplitSelect(TaskView taskView) {
int defaultSplitPosition =
mOrientationHandler.getDefaultSplitPosition(mActivity.getDeviceProfile());
int defaultSplitPosition = mOrientationHandler
.getDefaultSplitPosition(mActivity.getDeviceProfile());
initiateSplitSelect(taskView, defaultSplitPosition);
}
@@ -4313,9 +4348,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
* Returns the scale up required on the view, so that it coves the screen completely
*/
public float getMaxScaleForFullScreen() {
DeviceProfile dp = mActivity.getDeviceProfile();
return getPagedViewOrientedState().getFullScreenScaleAndPivot(dp.overviewTaskRect,
dp, mTempPointF);
getTaskSize(mTempRect);
return getPagedViewOrientedState().getFullScreenScaleAndPivot(
mTempRect, mActivity.getDeviceProfile(), mTempPointF);
}
public PendingAnimation createTaskLaunchAnimation(
@@ -4822,15 +4857,17 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
int lastGridTaskViewPosition =
getPositionInRow(lastGridTaskView, topRowIdArray, bottomRowIdArray);
int taskViewPosition = getPositionInRow(taskView, topRowIdArray, bottomRowIdArray);
DeviceProfile dp = mActivity.getDeviceProfile();
Rect gridTaskRect = dp.getOverviewGridTaskRect(mIsRtl);
int gridTaskSizeAndSpacing = gridTaskRect.width() + mPageSpacing;
int gridTaskSizeAndSpacing = mLastComputedGridTaskSize.width() + mPageSpacing;
int positionDiff = gridTaskSizeAndSpacing * (lastGridTaskViewPosition - taskViewPosition);
int lastTaskEnd = (mIsRtl ? dp.overviewGridRect.left : dp.overviewGridRect.right)
int lastTaskEnd = (mIsRtl
? mLastComputedGridSize.left
: mLastComputedGridSize.right)
+ (mIsRtl ? mPageSpacing : -mPageSpacing);
int taskEnd = lastTaskEnd + (mIsRtl ? positionDiff : -positionDiff);
int normalTaskEnd = mIsRtl ? gridTaskRect.left : gridTaskRect.right;
int normalTaskEnd = mIsRtl
? mLastComputedGridTaskSize.left
: mLastComputedGridTaskSize.right;
return taskEnd - normalTaskEnd;
}
@@ -5136,12 +5173,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
while ((taskView == null || isTaskViewFullyVisible(taskView)) && targetPage - 1 >= 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
@@ -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.
@@ -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)
}
}
@@ -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)
}
}
@@ -483,114 +483,4 @@ class DeviceProfileTabletLandscape3ButtonTest : DeviceProfileBaseTest() {
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)
}
}
@@ -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)
}
}
@@ -483,114 +483,4 @@ class DeviceProfileTabletPortrait3ButtonTest : DeviceProfileBaseTest() {
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)
}
}
@@ -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)
}
}
@@ -483,114 +483,4 @@ class DeviceProfileTwoPanelLandscape3ButtonTest : DeviceProfileBaseTest() {
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)
}
}
@@ -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)
}
}
@@ -483,114 +483,4 @@ class DeviceProfileTwoPanelPortrait3ButtonTest : DeviceProfileBaseTest() {
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)
}
}
@@ -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)
}
}
@@ -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)
}
}
@@ -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)
}
}
-3
View File
@@ -383,9 +383,6 @@
<dimen name="overview_grid_side_margin">0dp</dimen>
<dimen name="overview_grid_row_spacing">0dp</dimen>
<dimen name="overview_page_spacing">0dp</dimen>
<dimen name="overview_minimum_next_prev_size">0dp</dimen>
<item name="overview_max_scale" format="float" type="dimen">0.0</item>
<item name="overview_modal_max_scale" format="float" type="dimen">0.0</item>
<dimen name="split_placeholder_size">72dp</dimen>
<dimen name="split_placeholder_inset">16dp</dimen>
<dimen name="split_placeholder_icon_size">44dp</dimen>
+19 -183
View File
@@ -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.
@@ -492,104 +481,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 +1245,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 +1291,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 +1327,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 +1344,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 +1361,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 +1377,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 +1395,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,
+1 -1
View File
@@ -3024,7 +3024,7 @@ public class Launcher extends StatefulActivity<LauncherState>
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);
@@ -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() {
@@ -164,7 +163,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
}