Loading quickstep/src/com/android/quickstep/BaseActivityInterface.java +12 −10 Original line number Diff line number Diff line Loading @@ -244,6 +244,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T float maxScale = res.getFloat(R.dimen.overview_max_scale); int taskMargin = dp.overviewTaskMarginPx; calculateTaskSizeInternal( context, dp, dp.overviewTaskThumbnailTopMarginPx, dp.getOverviewActionsClaimedSpace(), Loading @@ -259,10 +260,10 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T float maxScale = res.getFloat(R.dimen.overview_max_scale); Rect gridRect = new Rect(); calculateGridSize(dp, gridRect); calculateTaskSizeInternal(dp, gridRect, maxScale, Gravity.CENTER, outRect); calculateTaskSizeInternal(context, dp, gridRect, maxScale, Gravity.CENTER, outRect); } private void calculateTaskSizeInternal(DeviceProfile dp, int claimedSpaceAbove, private void calculateTaskSizeInternal(Context context, DeviceProfile dp, int claimedSpaceAbove, int claimedSpaceBelow, int minimumHorizontalPadding, float maxScale, int gravity, Rect outRect) { Rect insets = dp.getInsets(); Loading @@ -275,12 +276,12 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T minimumHorizontalPadding, claimedSpaceBelow); calculateTaskSizeInternal(dp, potentialTaskRect, maxScale, gravity, outRect); calculateTaskSizeInternal(context, dp, potentialTaskRect, maxScale, gravity, outRect); } private void calculateTaskSizeInternal(DeviceProfile dp, private void calculateTaskSizeInternal(Context context, DeviceProfile dp, Rect potentialTaskRect, float maxScale, int gravity, Rect outRect) { PointF taskDimension = getTaskDimension(dp); PointF taskDimension = getTaskDimension(context, dp); float scale = Math.min( potentialTaskRect.width() / taskDimension.x, Loading @@ -292,19 +293,19 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T Gravity.apply(gravity, outWidth, outHeight, potentialTaskRect, outRect); } private static PointF getTaskDimension(DeviceProfile dp) { private static PointF getTaskDimension(Context context, DeviceProfile dp) { PointF dimension = new PointF(); getTaskDimension(dp, dimension); getTaskDimension(context, dp, dimension); return dimension; } /** * Gets the dimension of the task in the current system state. */ public static void getTaskDimension(DeviceProfile dp, PointF out) { public static void getTaskDimension(Context context, DeviceProfile dp, PointF out) { out.x = dp.widthPx; out.y = dp.heightPx; if (dp.isTablet) { if (dp.isTablet && !DisplayController.isTransientTaskbar(context)) { out.y -= dp.taskbarSize; } } Loading Loading @@ -339,7 +340,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T float rowHeight = (potentialTaskRect.height() + dp.overviewTaskThumbnailTopMarginPx - dp.overviewRowSpacing) / 2f; PointF taskDimension = getTaskDimension(dp); PointF taskDimension = getTaskDimension(context, dp); float scale = (rowHeight - dp.overviewTaskThumbnailTopMarginPx) / taskDimension.y; int outWidth = Math.round(scale * taskDimension.x); int outHeight = Math.round(scale * taskDimension.y); Loading Loading @@ -373,6 +374,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T Math.round((dp.availableWidthPx - outRect.width() * maxScale) / 2); } calculateTaskSizeInternal( context, dp, dp.overviewTaskMarginPx, claimedSpaceBelow, Loading quickstep/src/com/android/quickstep/util/RecentsOrientedState.java +1 −1 Original line number Diff line number Diff line Loading @@ -396,7 +396,7 @@ 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) { getTaskDimension(dp, outPivot); getTaskDimension(mContext, dp, outPivot); float scale = Math.min(outPivot.x / taskView.width(), outPivot.y / taskView.height()); if (scale == 1) { outPivot.set(taskView.centerX(), taskView.centerY()); Loading quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +2 −10 Original line number Diff line number Diff line Loading @@ -272,9 +272,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { */ public RectF getCurrentCropRect() { // Crop rect is the inverse of thumbnail matrix RectF insets = mCurrentFullscreenParams.mCurrentDrawnInsets; mTempRectF.set(-insets.left, -insets.top, mTaskRect.width() + insets.right, mTaskRect.height() + insets.bottom); mTempRectF.set(0, 0, mTaskRect.width(), mTaskRect.height()); mInversePositionMatrix.mapRect(mTempRectF); return mTempRectF; } Loading Loading @@ -351,14 +349,10 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { /* taskViewScale= */1f, mTaskRect.width(), mDp, mPositionHelper); // Apply thumbnail matrix RectF insets = mCurrentFullscreenParams.mCurrentDrawnInsets; float scale = mCurrentFullscreenParams.mScale; float taskWidth = mTaskRect.width(); float taskHeight = mTaskRect.height(); mMatrix.set(mPositionHelper.getMatrix()); mMatrix.postTranslate(insets.left, insets.top); mMatrix.postScale(scale, scale); // Apply TaskView matrix: taskRect, translate mMatrix.postTranslate(mTaskRect.left, mTaskRect.top); Loading @@ -378,8 +372,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { applyWindowToHomeRotation(mMatrix); // Crop rect is the inverse of thumbnail matrix mTempRectF.set(-insets.left, -insets.top, taskWidth + insets.right, taskHeight + insets.bottom); mTempRectF.set(0, 0, taskWidth, taskHeight); mInversePositionMatrix.mapRect(mTempRectF); mTempRectF.roundOut(mTmpCropRect); Loading @@ -389,7 +382,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { return; } Log.d(TAG, "progress: " + fullScreenProgress + " scale: " + scale + " recentsViewScale: " + recentsViewScale.value + " crop: " + mTmpCropRect + " radius: " + getCurrentCornerRadius() Loading quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java +3 −13 Original line number Diff line number Diff line Loading @@ -97,11 +97,6 @@ public final class DigitalWellBeingToast { private View mBanner; private ViewOutlineProvider mOldBannerOutlineProvider; private float mBannerOffsetPercentage; /** * Clips rect provided by {@link #mOldBannerOutlineProvider} when in the model state to * hide this banner as the taskView scales up and down */ private float mModalOffset = 0f; @Nullable private SplitBounds mSplitBounds; private int mSplitBannerConfig = SPLIT_BANNER_FULLSCREEN; Loading Loading @@ -336,17 +331,15 @@ public final class DigitalWellBeingToast { @Override public void getOutline(View view, Outline outline) { mOldBannerOutlineProvider.getOutline(view, outline); float verticalTranslation = -view.getTranslationY() + mModalOffset + mSplitOffsetTranslationY; float verticalTranslation = -view.getTranslationY() + mSplitOffsetTranslationY; outline.offset(0, Math.round(verticalTranslation)); } }); mBanner.setClipToOutline(true); } void updateBannerOffset(float offsetPercentage, float verticalOffset) { void updateBannerOffset(float offsetPercentage) { if (mBanner != null && mBannerOffsetPercentage != offsetPercentage) { mModalOffset = verticalOffset; mBannerOffsetPercentage = offsetPercentage; updateTranslationY(); mBanner.invalidateOutline(); Loading @@ -359,10 +352,7 @@ public final class DigitalWellBeingToast { } mBanner.setTranslationY( (mBannerOffsetPercentage * mBanner.getHeight()) + mModalOffset + mSplitOffsetTranslationY ); (mBannerOffsetPercentage * mBanner.getHeight()) + mSplitOffsetTranslationY); } private void updateTranslationX() { Loading quickstep/src/com/android/quickstep/views/GroupedTaskView.java +1 −3 Original line number Diff line number Diff line Loading @@ -391,9 +391,7 @@ public class GroupedTaskView extends TaskView { // Value set by super call float scale = mIconView.getAlpha(); mIconView2.setAlpha(scale); mDigitalWellBeingToast2.updateBannerOffset(1f - scale, mCurrentFullscreenParams.mCurrentDrawnInsets.top + mCurrentFullscreenParams.mCurrentDrawnInsets.bottom); mDigitalWellBeingToast2.updateBannerOffset(1f - scale); } @Override Loading Loading
quickstep/src/com/android/quickstep/BaseActivityInterface.java +12 −10 Original line number Diff line number Diff line Loading @@ -244,6 +244,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T float maxScale = res.getFloat(R.dimen.overview_max_scale); int taskMargin = dp.overviewTaskMarginPx; calculateTaskSizeInternal( context, dp, dp.overviewTaskThumbnailTopMarginPx, dp.getOverviewActionsClaimedSpace(), Loading @@ -259,10 +260,10 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T float maxScale = res.getFloat(R.dimen.overview_max_scale); Rect gridRect = new Rect(); calculateGridSize(dp, gridRect); calculateTaskSizeInternal(dp, gridRect, maxScale, Gravity.CENTER, outRect); calculateTaskSizeInternal(context, dp, gridRect, maxScale, Gravity.CENTER, outRect); } private void calculateTaskSizeInternal(DeviceProfile dp, int claimedSpaceAbove, private void calculateTaskSizeInternal(Context context, DeviceProfile dp, int claimedSpaceAbove, int claimedSpaceBelow, int minimumHorizontalPadding, float maxScale, int gravity, Rect outRect) { Rect insets = dp.getInsets(); Loading @@ -275,12 +276,12 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T minimumHorizontalPadding, claimedSpaceBelow); calculateTaskSizeInternal(dp, potentialTaskRect, maxScale, gravity, outRect); calculateTaskSizeInternal(context, dp, potentialTaskRect, maxScale, gravity, outRect); } private void calculateTaskSizeInternal(DeviceProfile dp, private void calculateTaskSizeInternal(Context context, DeviceProfile dp, Rect potentialTaskRect, float maxScale, int gravity, Rect outRect) { PointF taskDimension = getTaskDimension(dp); PointF taskDimension = getTaskDimension(context, dp); float scale = Math.min( potentialTaskRect.width() / taskDimension.x, Loading @@ -292,19 +293,19 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T Gravity.apply(gravity, outWidth, outHeight, potentialTaskRect, outRect); } private static PointF getTaskDimension(DeviceProfile dp) { private static PointF getTaskDimension(Context context, DeviceProfile dp) { PointF dimension = new PointF(); getTaskDimension(dp, dimension); getTaskDimension(context, dp, dimension); return dimension; } /** * Gets the dimension of the task in the current system state. */ public static void getTaskDimension(DeviceProfile dp, PointF out) { public static void getTaskDimension(Context context, DeviceProfile dp, PointF out) { out.x = dp.widthPx; out.y = dp.heightPx; if (dp.isTablet) { if (dp.isTablet && !DisplayController.isTransientTaskbar(context)) { out.y -= dp.taskbarSize; } } Loading Loading @@ -339,7 +340,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T float rowHeight = (potentialTaskRect.height() + dp.overviewTaskThumbnailTopMarginPx - dp.overviewRowSpacing) / 2f; PointF taskDimension = getTaskDimension(dp); PointF taskDimension = getTaskDimension(context, dp); float scale = (rowHeight - dp.overviewTaskThumbnailTopMarginPx) / taskDimension.y; int outWidth = Math.round(scale * taskDimension.x); int outHeight = Math.round(scale * taskDimension.y); Loading Loading @@ -373,6 +374,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T Math.round((dp.availableWidthPx - outRect.width() * maxScale) / 2); } calculateTaskSizeInternal( context, dp, dp.overviewTaskMarginPx, claimedSpaceBelow, Loading
quickstep/src/com/android/quickstep/util/RecentsOrientedState.java +1 −1 Original line number Diff line number Diff line Loading @@ -396,7 +396,7 @@ 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) { getTaskDimension(dp, outPivot); getTaskDimension(mContext, dp, outPivot); float scale = Math.min(outPivot.x / taskView.width(), outPivot.y / taskView.height()); if (scale == 1) { outPivot.set(taskView.centerX(), taskView.centerY()); Loading
quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +2 −10 Original line number Diff line number Diff line Loading @@ -272,9 +272,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { */ public RectF getCurrentCropRect() { // Crop rect is the inverse of thumbnail matrix RectF insets = mCurrentFullscreenParams.mCurrentDrawnInsets; mTempRectF.set(-insets.left, -insets.top, mTaskRect.width() + insets.right, mTaskRect.height() + insets.bottom); mTempRectF.set(0, 0, mTaskRect.width(), mTaskRect.height()); mInversePositionMatrix.mapRect(mTempRectF); return mTempRectF; } Loading Loading @@ -351,14 +349,10 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { /* taskViewScale= */1f, mTaskRect.width(), mDp, mPositionHelper); // Apply thumbnail matrix RectF insets = mCurrentFullscreenParams.mCurrentDrawnInsets; float scale = mCurrentFullscreenParams.mScale; float taskWidth = mTaskRect.width(); float taskHeight = mTaskRect.height(); mMatrix.set(mPositionHelper.getMatrix()); mMatrix.postTranslate(insets.left, insets.top); mMatrix.postScale(scale, scale); // Apply TaskView matrix: taskRect, translate mMatrix.postTranslate(mTaskRect.left, mTaskRect.top); Loading @@ -378,8 +372,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { applyWindowToHomeRotation(mMatrix); // Crop rect is the inverse of thumbnail matrix mTempRectF.set(-insets.left, -insets.top, taskWidth + insets.right, taskHeight + insets.bottom); mTempRectF.set(0, 0, taskWidth, taskHeight); mInversePositionMatrix.mapRect(mTempRectF); mTempRectF.roundOut(mTmpCropRect); Loading @@ -389,7 +382,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { return; } Log.d(TAG, "progress: " + fullScreenProgress + " scale: " + scale + " recentsViewScale: " + recentsViewScale.value + " crop: " + mTmpCropRect + " radius: " + getCurrentCornerRadius() Loading
quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java +3 −13 Original line number Diff line number Diff line Loading @@ -97,11 +97,6 @@ public final class DigitalWellBeingToast { private View mBanner; private ViewOutlineProvider mOldBannerOutlineProvider; private float mBannerOffsetPercentage; /** * Clips rect provided by {@link #mOldBannerOutlineProvider} when in the model state to * hide this banner as the taskView scales up and down */ private float mModalOffset = 0f; @Nullable private SplitBounds mSplitBounds; private int mSplitBannerConfig = SPLIT_BANNER_FULLSCREEN; Loading Loading @@ -336,17 +331,15 @@ public final class DigitalWellBeingToast { @Override public void getOutline(View view, Outline outline) { mOldBannerOutlineProvider.getOutline(view, outline); float verticalTranslation = -view.getTranslationY() + mModalOffset + mSplitOffsetTranslationY; float verticalTranslation = -view.getTranslationY() + mSplitOffsetTranslationY; outline.offset(0, Math.round(verticalTranslation)); } }); mBanner.setClipToOutline(true); } void updateBannerOffset(float offsetPercentage, float verticalOffset) { void updateBannerOffset(float offsetPercentage) { if (mBanner != null && mBannerOffsetPercentage != offsetPercentage) { mModalOffset = verticalOffset; mBannerOffsetPercentage = offsetPercentage; updateTranslationY(); mBanner.invalidateOutline(); Loading @@ -359,10 +352,7 @@ public final class DigitalWellBeingToast { } mBanner.setTranslationY( (mBannerOffsetPercentage * mBanner.getHeight()) + mModalOffset + mSplitOffsetTranslationY ); (mBannerOffsetPercentage * mBanner.getHeight()) + mSplitOffsetTranslationY); } private void updateTranslationX() { Loading
quickstep/src/com/android/quickstep/views/GroupedTaskView.java +1 −3 Original line number Diff line number Diff line Loading @@ -391,9 +391,7 @@ public class GroupedTaskView extends TaskView { // Value set by super call float scale = mIconView.getAlpha(); mIconView2.setAlpha(scale); mDigitalWellBeingToast2.updateBannerOffset(1f - scale, mCurrentFullscreenParams.mCurrentDrawnInsets.top + mCurrentFullscreenParams.mCurrentDrawnInsets.bottom); mDigitalWellBeingToast2.updateBannerOffset(1f - scale); } @Override Loading