Merge "Overview - Adds first pass at making landscape layout real." into sc-dev am: 21aa7042c0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/13932061 Change-Id: Ib355f56e113f852ae8ea4c45ca285f755d9cbac5
This commit is contained in:
@@ -22,5 +22,4 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/recents_clear_all"
|
||||
android:textColor="?attr/workspaceTextColor"
|
||||
android:textSize="14sp"
|
||||
android:translationY="@dimen/task_thumbnail_half_top_margin" />
|
||||
android:textSize="14sp" />
|
||||
@@ -13,6 +13,8 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!-- NOTE! don't add dimensions for margins / paddings / sizes that change per orientation to this
|
||||
file, they need to be loaded at runtime. -->
|
||||
<com.android.quickstep.views.TaskView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
@@ -24,8 +26,7 @@
|
||||
<com.android.quickstep.views.TaskThumbnailView
|
||||
android:id="@+id/snapshot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/task_thumbnail_top_margin"/>
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
<com.android.quickstep.views.IconView
|
||||
android:id="@+id/icon"
|
||||
|
||||
@@ -16,4 +16,6 @@
|
||||
-->
|
||||
<resources>
|
||||
<dimen name="task_card_menu_horizontal_padding">24dp</dimen>
|
||||
|
||||
<dimen name="overview_task_margin">8dp</dimen>
|
||||
</resources>
|
||||
@@ -15,11 +15,7 @@
|
||||
-->
|
||||
|
||||
<resources>
|
||||
|
||||
<dimen name="task_thumbnail_top_margin">80dp</dimen>
|
||||
<dimen name="task_thumbnail_half_top_margin">40dp</dimen>
|
||||
<dimen name="task_thumbnail_icon_size">48dp</dimen>
|
||||
<dimen name="task_icon_top_margin">16dp</dimen>
|
||||
<!-- For screens without rounded corners -->
|
||||
<dimen name="task_corner_radius_small">2dp</dimen>
|
||||
|
||||
|
||||
@@ -201,14 +201,18 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T
|
||||
PagedOrientationHandler orientedState) {
|
||||
Resources res = context.getResources();
|
||||
|
||||
int taskMargin = res.getDimensionPixelSize(R.dimen.overview_task_margin);
|
||||
int taskIconAndMargin = res.getDimensionPixelSize(R.dimen.task_thumbnail_icon_size)
|
||||
+ res.getDimensionPixelSize(R.dimen.task_icon_top_margin);
|
||||
int proactiveRowAndMargin = res.getDimensionPixelSize(R.dimen.overview_proactive_row_height)
|
||||
+ res.getDimensionPixelSize(R.dimen.overview_proactive_row_bottom_margin);
|
||||
|
||||
int taskMargin = dp.overviewTaskMarginPx;
|
||||
int proactiveRowAndMargin;
|
||||
if (dp.isVerticalBarLayout()) {
|
||||
// In Vertical Bar Layout the proactive row doesn't have its own space, it's inside
|
||||
// the actions row.
|
||||
proactiveRowAndMargin = 0;
|
||||
} else {
|
||||
proactiveRowAndMargin = res.getDimensionPixelSize(R.dimen.overview_proactive_row_height)
|
||||
+ res.getDimensionPixelSize(R.dimen.overview_proactive_row_bottom_margin);
|
||||
}
|
||||
calculateTaskSizeInternal(context, dp,
|
||||
taskIconAndMargin + taskMargin,
|
||||
dp.overviewTaskThumbnailTopMarginPx,
|
||||
proactiveRowAndMargin + getOverviewActionsHeight(context) + taskMargin,
|
||||
res.getDimensionPixelSize(R.dimen.overview_minimum_next_prev_size) + taskMargin,
|
||||
outRect);
|
||||
@@ -267,13 +271,11 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T
|
||||
* Calculates the modal taskView size for the provided device configuration
|
||||
*/
|
||||
public final void calculateModalTaskSize(Context context, DeviceProfile dp, Rect outRect) {
|
||||
Resources res = context.getResources();
|
||||
calculateTaskSizeInternal(
|
||||
context, dp,
|
||||
res.getDimensionPixelSize(R.dimen.overview_task_margin),
|
||||
getOverviewActionsHeight(context)
|
||||
+ res.getDimensionPixelSize(R.dimen.overview_task_margin),
|
||||
res.getDimensionPixelSize(R.dimen.overview_task_margin),
|
||||
dp.overviewTaskMarginPx,
|
||||
getOverviewActionsHeight(context) + dp.overviewTaskMarginPx,
|
||||
dp.overviewTaskMarginPx,
|
||||
outRect);
|
||||
}
|
||||
|
||||
|
||||
@@ -112,7 +112,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
|
||||
private boolean mLayoutValid = false;
|
||||
private boolean mScrollValid = false;
|
||||
private int mOrientationStateId;
|
||||
private final int mTaskThumbnailPadding;
|
||||
private final int mRowSpacing;
|
||||
|
||||
public TaskViewSimulator(Context context, BaseActivityInterface sizeStrategy) {
|
||||
@@ -125,7 +124,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
|
||||
mOrientationStateId = mOrientationState.getStateId();
|
||||
Resources resources = context.getResources();
|
||||
mIsRecentsRtl = mOrientationState.getOrientationHandler().getRecentsRtlSetting(resources);
|
||||
mTaskThumbnailPadding = (int) resources.getDimension(R.dimen.task_thumbnail_top_margin);
|
||||
mRowSpacing = (int) resources.getDimension(R.dimen.overview_grid_row_spacing);
|
||||
}
|
||||
|
||||
@@ -314,7 +312,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
|
||||
final int boxLength = (int) Math.max(taskWidth, taskHeight);
|
||||
float availableHeight = mGridRect.height();
|
||||
float rowHeight = (availableHeight - mRowSpacing) / 2;
|
||||
float gridScale = rowHeight / (boxLength + mTaskThumbnailPadding);
|
||||
float gridScale = rowHeight / (boxLength + mDp.overviewTaskThumbnailTopMarginPx);
|
||||
scale = Utilities.mapRange(interpolatedGridProgress, 1f, gridScale);
|
||||
mMatrix.postScale(scale, scale, mIsRecentsRtl ? 0 : taskWidth, 0);
|
||||
mOrientationState.getOrientationHandler().setSecondary(mMatrix, MATRIX_POST_TRANSLATE,
|
||||
@@ -331,7 +329,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
|
||||
taskGridHorizontalDiff = mGridRect.left - taskLeft;
|
||||
}
|
||||
float taskGridVerticalDiff =
|
||||
mGridRect.top + mTaskThumbnailPadding * gridScale - mTaskRect.top;
|
||||
mGridRect.top + mDp.overviewTaskThumbnailTopMarginPx * gridScale - mTaskRect.top;
|
||||
mOrientationState.getOrientationHandler().set(mMatrix, MATRIX_POST_TRANSLATE,
|
||||
Utilities.mapRange(interpolatedGridProgress, 0, taskGridHorizontalDiff));
|
||||
mOrientationState.getOrientationHandler().setSecondary(mMatrix, MATRIX_POST_TRANSLATE,
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.util.AttributeSet;
|
||||
import android.util.FloatProperty;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.android.launcher3.statemanager.StatefulActivity;
|
||||
import com.android.launcher3.touch.PagedOrientationHandler;
|
||||
import com.android.quickstep.views.RecentsView.PageCallbacks;
|
||||
import com.android.quickstep.views.RecentsView.ScrollState;
|
||||
@@ -40,13 +41,13 @@ public class ClearAllButton extends Button implements PageCallbacks {
|
||||
}
|
||||
};
|
||||
|
||||
private final StatefulActivity mActivity;
|
||||
private float mScrollAlpha = 1;
|
||||
private float mContentAlpha = 1;
|
||||
private float mVisibilityAlpha = 1;
|
||||
private float mGridProgress = 1;
|
||||
|
||||
private boolean mIsRtl;
|
||||
private final float mOriginalTranslationX, mOriginalTranslationY;
|
||||
private float mNormalTranslationPrimary;
|
||||
private float mGridTranslationPrimary;
|
||||
|
||||
@@ -55,8 +56,7 @@ public class ClearAllButton extends Button implements PageCallbacks {
|
||||
public ClearAllButton(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mIsRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
|
||||
mOriginalTranslationX = getTranslationX();
|
||||
mOriginalTranslationY = getTranslationY();
|
||||
mActivity = StatefulActivity.fromContext(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -114,7 +114,7 @@ public class ClearAllButton extends Button implements PageCallbacks {
|
||||
mNormalTranslationPrimary = mIsRtl ? (mScrollOffset - shift) : (mScrollOffset + shift);
|
||||
applyPrimaryTranslation();
|
||||
orientationHandler.getSecondaryViewTranslate().set(this,
|
||||
orientationHandler.getSecondaryValue(mOriginalTranslationX, mOriginalTranslationY));
|
||||
orientationHandler.getSecondaryValue(0f, getOriginalTranslationY()));
|
||||
mScrollAlpha = 1 - shift / orientationSize;
|
||||
updateAlpha();
|
||||
}
|
||||
@@ -166,4 +166,11 @@ public class ClearAllButton extends Button implements PageCallbacks {
|
||||
private float getGridTrans(float endTranslation) {
|
||||
return mGridProgress > 0 ? endTranslation : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Y translation that is set in the original layout position, before scrolling.
|
||||
*/
|
||||
private float getOriginalTranslationY() {
|
||||
return mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx / 2.0f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.widget.FrameLayout;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.Insettable;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.util.MultiValueAlpha;
|
||||
@@ -144,6 +145,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
|
||||
public void setInsets(Rect insets) {
|
||||
mInsets.set(insets);
|
||||
updateVerticalMargin(SysUINavigationMode.getMode(getContext()));
|
||||
updateHorizontalPadding();
|
||||
}
|
||||
|
||||
public void updateHiddenFlags(@ActionsHiddenFlags int visibilityFlags, boolean enable) {
|
||||
@@ -187,6 +189,10 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
|
||||
return mMultiValueAlpha.getProperty(INDEX_FULLSCREEN_ALPHA);
|
||||
}
|
||||
|
||||
private void updateHorizontalPadding() {
|
||||
setPadding(mInsets.left, 0, mInsets.right, 0);
|
||||
}
|
||||
|
||||
/** Updates vertical margins for different navigation mode or configuration changes. */
|
||||
public void updateVerticalMargin(Mode mode) {
|
||||
LayoutParams actionParams = (LayoutParams) findViewById(
|
||||
@@ -196,6 +202,13 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
|
||||
getBottomVerticalMargin(mode));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the device profile for this view to draw with.
|
||||
*/
|
||||
public void setDp(DeviceProfile dp) {
|
||||
requestLayout();
|
||||
}
|
||||
|
||||
protected int getBottomVerticalMargin(Mode mode) {
|
||||
int bottomMargin;
|
||||
int orientation = getResources().getConfiguration().orientation;
|
||||
|
||||
@@ -310,7 +310,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
protected final T mActivity;
|
||||
private final float mFastFlingVelocity;
|
||||
private final RecentsModel mModel;
|
||||
private final int mTaskTopMargin;
|
||||
private final int mRowSpacing;
|
||||
private final ClearAllButton mClearAllButton;
|
||||
private final Rect mClearAllButtonDeadZoneRect = new Rect();
|
||||
@@ -529,8 +528,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
|
||||
mIsRtl = mOrientationHandler.getRecentsRtlSetting(getResources());
|
||||
setLayoutDirection(mIsRtl ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR);
|
||||
mTaskTopMargin = getResources()
|
||||
.getDimensionPixelSize(R.dimen.task_thumbnail_top_margin);
|
||||
mRowSpacing = getResources().getDimensionPixelSize(R.dimen.overview_grid_row_spacing);
|
||||
mSquaredTouchSlop = squaredTouchSlop(context);
|
||||
|
||||
@@ -1066,7 +1063,9 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
public void setInsets(Rect insets) {
|
||||
mInsets.set(insets);
|
||||
resetPaddingFromTaskSize();
|
||||
mLiveTileTaskViewSimulator.setDp(mActivity.getDeviceProfile());
|
||||
DeviceProfile dp = mActivity.getDeviceProfile();
|
||||
mLiveTileTaskViewSimulator.setDp(dp);
|
||||
mActionsView.setDp(dp);
|
||||
}
|
||||
|
||||
private void resetPaddingFromTaskSize() {
|
||||
@@ -1075,7 +1074,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
mTaskWidth = mTempRect.width();
|
||||
mTaskHeight = mTempRect.height();
|
||||
|
||||
mTempRect.top -= mTaskTopMargin;
|
||||
mTempRect.top -= dp.overviewTaskThumbnailTopMarginPx;
|
||||
setPadding(mTempRect.left - mInsets.left, mTempRect.top - mInsets.top,
|
||||
dp.widthPx - mInsets.right - mTempRect.right,
|
||||
dp.heightPx - mInsets.bottom - mTempRect.bottom);
|
||||
@@ -1602,7 +1601,8 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
final int boxLength = Math.max(mTaskWidth, mTaskHeight);
|
||||
float availableHeight = mLastComputedGridSize.height();
|
||||
float rowHeight = (availableHeight - mRowSpacing) / 2;
|
||||
float gridScale = rowHeight / (boxLength + mTaskTopMargin);
|
||||
int taskTopMargin = mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx;
|
||||
float gridScale = rowHeight / (boxLength + taskTopMargin);
|
||||
|
||||
int topRowWidth = 0;
|
||||
int bottomRowWidth = 0;
|
||||
@@ -1635,7 +1635,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
gridTranslations[i] -= taskGridHorizontalDiff;
|
||||
taskView.setGridOffsetTranslationX(taskGridHorizontalDiff);
|
||||
|
||||
float taskGridVerticalDiff = mLastComputedGridSize.top + mTaskTopMargin * gridScale
|
||||
float taskGridVerticalDiff = mLastComputedGridSize.top + taskTopMargin * gridScale
|
||||
- mLastComputedTaskSize.top;
|
||||
|
||||
// Off-set gap due to task scaling.
|
||||
@@ -1669,7 +1669,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
bottomSet.add(i);
|
||||
|
||||
// Move into bottom row.
|
||||
float heightOffset = (boxLength + mTaskTopMargin) * gridScale + mRowSpacing;
|
||||
float heightOffset = (boxLength + taskTopMargin) * gridScale + mRowSpacing;
|
||||
taskView.setGridTranslationY(heightOffset + taskGridVerticalDiff);
|
||||
|
||||
// Move horizontally into empty space.
|
||||
@@ -2485,7 +2485,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
if (child == mSplitHiddenTaskView) {
|
||||
|
||||
int left = newScroll[i] + getPaddingStart();
|
||||
int topMargin = mSplitHiddenTaskView.getThumbnailTopMargin();
|
||||
int topMargin = mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx;
|
||||
int top = -mSplitHiddenTaskView.getHeight() - locationOnScreen[1];
|
||||
mSplitHiddenTaskView.layout(left, top,
|
||||
left + mSplitHiddenTaskView.getWidth(),
|
||||
|
||||
@@ -58,7 +58,6 @@ public class TaskMenuView extends AbstractFloatingView {
|
||||
private static final int REVEAL_OPEN_DURATION = 150;
|
||||
private static final int REVEAL_CLOSE_DURATION = 100;
|
||||
|
||||
private final float mThumbnailTopMargin;
|
||||
private BaseDraggingActivity mActivity;
|
||||
private TextView mTaskName;
|
||||
private AnimatorSet mOpenCloseAnimator;
|
||||
@@ -73,7 +72,6 @@ public class TaskMenuView extends AbstractFloatingView {
|
||||
super(context, attrs, defStyleAttr);
|
||||
|
||||
mActivity = BaseDraggingActivity.fromContext(context);
|
||||
mThumbnailTopMargin = getResources().getDimension(R.dimen.task_thumbnail_top_margin);
|
||||
setClipToOutline(true);
|
||||
}
|
||||
|
||||
@@ -123,14 +121,15 @@ public class TaskMenuView extends AbstractFloatingView {
|
||||
}
|
||||
|
||||
public void setPosition(float x, float y, PagedOrientationHandler pagedOrientationHandler) {
|
||||
float adjustedY = y + mThumbnailTopMargin;
|
||||
int taskTopMargin = mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx;
|
||||
float adjustedY = y + taskTopMargin;
|
||||
// Changing pivot to make computations easier
|
||||
// NOTE: Changing the pivots means the rotated view gets rotated about the new pivots set,
|
||||
// which would render the X and Y position set here incorrect
|
||||
setPivotX(0);
|
||||
if (mActivity.getDeviceProfile().isTablet && FeatureFlags.ENABLE_OVERVIEW_GRID.get()) {
|
||||
// In tablet, set pivotY to original position without mThumbnailTopMargin adjustment.
|
||||
setPivotY(-mThumbnailTopMargin);
|
||||
setPivotY(-taskTopMargin);
|
||||
} else {
|
||||
setPivotY(0);
|
||||
}
|
||||
|
||||
@@ -376,7 +376,8 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
mCurrentFullscreenParams = new FullscreenDrawParams(context);
|
||||
mDigitalWellBeingToast = new DigitalWellBeingToast(mActivity, this);
|
||||
|
||||
mOutlineProvider = new TaskOutlineProvider(getContext(), mCurrentFullscreenParams);
|
||||
mOutlineProvider = new TaskOutlineProvider(getContext(), mCurrentFullscreenParams,
|
||||
mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx);
|
||||
setOutlineProvider(mOutlineProvider);
|
||||
}
|
||||
|
||||
@@ -673,16 +674,12 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
}
|
||||
}
|
||||
|
||||
public int getThumbnailTopMargin() {
|
||||
return (int) getResources().getDimension(R.dimen.task_thumbnail_top_margin);
|
||||
}
|
||||
|
||||
public void setOrientationState(RecentsOrientedState orientationState) {
|
||||
PagedOrientationHandler orientationHandler = orientationState.getOrientationHandler();
|
||||
boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
|
||||
LayoutParams snapshotParams = (LayoutParams) mSnapshotView.getLayoutParams();
|
||||
int thumbnailPadding = (int) getResources().getDimension(R.dimen.task_thumbnail_top_margin);
|
||||
int taskIconMargin = (int) getResources().getDimension(R.dimen.task_icon_top_margin);
|
||||
snapshotParams.topMargin = mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx;
|
||||
int taskIconMargin = mActivity.getDeviceProfile().overviewTaskMarginPx;
|
||||
int taskIconHeight = (int) getResources().getDimension(R.dimen.task_thumbnail_icon_size);
|
||||
LayoutParams iconParams = (LayoutParams) mIconView.getLayoutParams();
|
||||
switch (orientationHandler.getRotation()) {
|
||||
@@ -694,7 +691,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
break;
|
||||
case ROTATION_180:
|
||||
iconParams.gravity = BOTTOM | CENTER_HORIZONTAL;
|
||||
iconParams.bottomMargin = -thumbnailPadding;
|
||||
iconParams.bottomMargin = -snapshotParams.topMargin;
|
||||
iconParams.leftMargin = iconParams.rightMargin = 0;
|
||||
iconParams.topMargin = taskIconMargin;
|
||||
break;
|
||||
@@ -711,6 +708,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
iconParams.topMargin = taskIconMargin;
|
||||
break;
|
||||
}
|
||||
mSnapshotView.setLayoutParams(snapshotParams);
|
||||
mIconView.setLayoutParams(iconParams);
|
||||
mIconView.setRotation(orientationHandler.getDegreesRotated());
|
||||
|
||||
@@ -1083,17 +1081,17 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
|
||||
private static final class TaskOutlineProvider extends ViewOutlineProvider {
|
||||
|
||||
private final int mMarginTop;
|
||||
private int mMarginTop;
|
||||
private FullscreenDrawParams mFullscreenParams;
|
||||
|
||||
TaskOutlineProvider(Context context, FullscreenDrawParams fullscreenParams) {
|
||||
mMarginTop = context.getResources().getDimensionPixelSize(
|
||||
R.dimen.task_thumbnail_top_margin);
|
||||
TaskOutlineProvider(Context context, FullscreenDrawParams fullscreenParams, int topMargin) {
|
||||
mMarginTop = topMargin;
|
||||
mFullscreenParams = fullscreenParams;
|
||||
}
|
||||
|
||||
public void setFullscreenParams(FullscreenDrawParams params) {
|
||||
public void updateParams(FullscreenDrawParams params, int topMargin) {
|
||||
mFullscreenParams = params;
|
||||
mMarginTop = topMargin;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1216,7 +1214,9 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
}
|
||||
|
||||
thumbnail.setFullscreenParams(mCurrentFullscreenParams);
|
||||
mOutlineProvider.setFullscreenParams(mCurrentFullscreenParams);
|
||||
mOutlineProvider.updateParams(
|
||||
mCurrentFullscreenParams,
|
||||
mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx);
|
||||
invalidateOutline();
|
||||
}
|
||||
|
||||
@@ -1238,8 +1238,8 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
void updateTaskSize() {
|
||||
ViewGroup.LayoutParams params = getLayoutParams();
|
||||
if (mActivity.getDeviceProfile().isTablet && FeatureFlags.ENABLE_OVERVIEW_GRID.get()) {
|
||||
final int thumbnailPadding = (int) getResources().getDimension(
|
||||
R.dimen.task_thumbnail_top_margin);
|
||||
final int thumbnailPadding =
|
||||
mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx;
|
||||
|
||||
Rect lastComputedTaskSize = getRecentsView().getLastComputedTaskSize();
|
||||
int taskWidth = lastComputedTaskSize.width();
|
||||
|
||||
@@ -292,4 +292,8 @@
|
||||
<!-- Size of the maximum radius for the enforced rounded rectangles. -->
|
||||
<dimen name="enforced_rounded_corner_max_radius">16dp</dimen>
|
||||
|
||||
<!-- Overview placeholder to compile in Launcer3 without Quickstep -->
|
||||
<dimen name="task_thumbnail_icon_size">0dp</dimen>
|
||||
<dimen name="overview_task_margin">0dp</dimen>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -151,6 +151,10 @@ public class DeviceProfile {
|
||||
public int allAppsIconDrawablePaddingPx;
|
||||
public float allAppsIconTextSizePx;
|
||||
|
||||
// Overview
|
||||
public int overviewTaskThumbnailTopMarginPx;
|
||||
public int overviewTaskMarginPx;
|
||||
|
||||
// Widgets
|
||||
public final PointF appWidgetScale = new PointF(1.0f, 1.0f);
|
||||
|
||||
@@ -297,6 +301,11 @@ public class DeviceProfile {
|
||||
: (hotseatBarTopPaddingPx + hotseatBarBottomPaddingPx
|
||||
+ (isScalableGrid ? 0 : hotseatExtraVerticalSize)));
|
||||
|
||||
|
||||
overviewTaskMarginPx = res.getDimensionPixelSize(R.dimen.overview_task_margin);
|
||||
overviewTaskThumbnailTopMarginPx = res.getDimensionPixelSize(
|
||||
R.dimen.task_thumbnail_icon_size) + 2 * overviewTaskMarginPx;
|
||||
|
||||
// Calculate all of the remaining variables.
|
||||
extraSpace = updateAvailableDimensions(res);
|
||||
// Now that we have all of the variables calculated, we can tune certain sizes.
|
||||
|
||||
Reference in New Issue
Block a user