Loading quickstep/src/com/android/quickstep/util/WindowSizeStrategy.java +33 −58 Original line number Diff line number Diff line Loading @@ -56,35 +56,41 @@ public abstract class WindowSizeStrategy { private void calculateTaskSize( Context context, DeviceProfile dp, float extraVerticalSpace, Rect outRect) { float taskWidth, taskHeight, paddingHorz; Resources res = context.getResources(); Rect insets = dp.getInsets(); final boolean showLargeTaskSize = showOverviewActions(context); if (dp.isMultiWindowMode) { WindowBounds bounds = SplitScreenBounds.INSTANCE.getSecondaryWindowBounds(context); taskWidth = bounds.availableSize.x; taskHeight = bounds.availableSize.y; paddingHorz = res.getDimension(R.dimen.multi_window_task_card_horz_space); } else { taskWidth = dp.availableWidthPx; taskHeight = dp.availableHeightPx; final int paddingResId; if (dp.isVerticalBarLayout()) { if (dp.isMultiWindowMode) { paddingResId = R.dimen.multi_window_task_card_horz_space; } else if (dp.isVerticalBarLayout()) { paddingResId = R.dimen.landscape_task_card_horz_space; } else if (showLargeTaskSize) { paddingResId = R.dimen.portrait_task_card_horz_space_big_overview; } else { paddingResId = R.dimen.portrait_task_card_horz_space; } paddingHorz = res.getDimension(paddingResId); } float topIconMargin = res.getDimension(R.dimen.task_thumbnail_top_margin); float paddingHorz = res.getDimension(paddingResId); float paddingVert = showLargeTaskSize ? 0 : res.getDimension(R.dimen.task_card_vert_space); calculateTaskSizeInternal(context, dp, extraVerticalSpace, paddingHorz, paddingVert, res.getDimension(R.dimen.task_thumbnail_top_margin), outRect); } private void calculateTaskSizeInternal(Context context, DeviceProfile dp, float extraVerticalSpace, float paddingHorz, float paddingVert, float topIconMargin, Rect outRect) { float taskWidth, taskHeight; Rect insets = dp.getInsets(); if (dp.isMultiWindowMode) { WindowBounds bounds = SplitScreenBounds.INSTANCE.getSecondaryWindowBounds(context); taskWidth = bounds.availableSize.x; taskHeight = bounds.availableSize.y; } else { taskWidth = dp.availableWidthPx; taskHeight = dp.availableHeightPx; } // Note this should be same as dp.availableWidthPx and dp.availableHeightPx unless // we override the insets ourselves. int launcherVisibleWidth = dp.widthPx - insets.left - insets.right; Loading @@ -110,47 +116,16 @@ public abstract class WindowSizeStrategy { * Calculates the modal taskView size for the provided device configuration */ public void calculateModalTaskSize(Context context, DeviceProfile dp, Rect outRect) { float taskWidth, taskHeight, paddingHorz; Resources res = context.getResources(); Rect insets = dp.getInsets(); if (dp.isMultiWindowMode) { getMultiWindowSize(context, dp, mTempPoint); taskWidth = mTempPoint.x; taskHeight = mTempPoint.y; paddingHorz = res.getDimension(R.dimen.multi_window_task_card_horz_space); } else { taskWidth = dp.availableWidthPx; taskHeight = dp.availableHeightPx; final int paddingResId; if (dp.isVerticalBarLayout()) { paddingResId = R.dimen.landscape_task_card_horz_space; } else { paddingResId = R.dimen.portrait_modal_task_card_horz_space; } paddingHorz = res.getDimension(paddingResId); } // Note this should be same as dp.availableWidthPx and dp.availableHeightPx unless // we override the insets ourselves. int launcherVisibleWidth = dp.widthPx - insets.left - insets.right; int launcherVisibleHeight = dp.heightPx - insets.top - insets.bottom; // Calculate for the overview height. float overviewActionsHeight = getOverviewActionsHeight(context); float availableHeight = launcherVisibleHeight - overviewActionsHeight; float availableWidth = launcherVisibleWidth - paddingHorz; float scale = Math.min(availableWidth / taskWidth, availableHeight / taskHeight); float outWidth = scale * taskWidth; float outHeight = scale * taskHeight; // Center in the visible space float x = insets.left + (launcherVisibleWidth - outWidth) / 2; float y = insets.top + (launcherVisibleHeight - overviewActionsHeight - outHeight) / 2; outRect.set(Math.round(x), Math.round(y), Math.round(x) + Math.round(outWidth), Math.round(y) + Math.round(outHeight)); float paddingHorz = context.getResources().getDimension(dp.isMultiWindowMode ? R.dimen.multi_window_task_card_horz_space : dp.isVerticalBarLayout() ? R.dimen.landscape_task_card_horz_space : R.dimen.portrait_modal_task_card_horz_space); float extraVerticalSpace = getOverviewActionsHeight(context); float paddingVert = 0; float topIconMargin = 0; calculateTaskSizeInternal(context, dp, extraVerticalSpace, paddingHorz, paddingVert, topIconMargin, outRect); } /** Gets the space that the overview actions will take, including margins. */ Loading Loading
quickstep/src/com/android/quickstep/util/WindowSizeStrategy.java +33 −58 Original line number Diff line number Diff line Loading @@ -56,35 +56,41 @@ public abstract class WindowSizeStrategy { private void calculateTaskSize( Context context, DeviceProfile dp, float extraVerticalSpace, Rect outRect) { float taskWidth, taskHeight, paddingHorz; Resources res = context.getResources(); Rect insets = dp.getInsets(); final boolean showLargeTaskSize = showOverviewActions(context); if (dp.isMultiWindowMode) { WindowBounds bounds = SplitScreenBounds.INSTANCE.getSecondaryWindowBounds(context); taskWidth = bounds.availableSize.x; taskHeight = bounds.availableSize.y; paddingHorz = res.getDimension(R.dimen.multi_window_task_card_horz_space); } else { taskWidth = dp.availableWidthPx; taskHeight = dp.availableHeightPx; final int paddingResId; if (dp.isVerticalBarLayout()) { if (dp.isMultiWindowMode) { paddingResId = R.dimen.multi_window_task_card_horz_space; } else if (dp.isVerticalBarLayout()) { paddingResId = R.dimen.landscape_task_card_horz_space; } else if (showLargeTaskSize) { paddingResId = R.dimen.portrait_task_card_horz_space_big_overview; } else { paddingResId = R.dimen.portrait_task_card_horz_space; } paddingHorz = res.getDimension(paddingResId); } float topIconMargin = res.getDimension(R.dimen.task_thumbnail_top_margin); float paddingHorz = res.getDimension(paddingResId); float paddingVert = showLargeTaskSize ? 0 : res.getDimension(R.dimen.task_card_vert_space); calculateTaskSizeInternal(context, dp, extraVerticalSpace, paddingHorz, paddingVert, res.getDimension(R.dimen.task_thumbnail_top_margin), outRect); } private void calculateTaskSizeInternal(Context context, DeviceProfile dp, float extraVerticalSpace, float paddingHorz, float paddingVert, float topIconMargin, Rect outRect) { float taskWidth, taskHeight; Rect insets = dp.getInsets(); if (dp.isMultiWindowMode) { WindowBounds bounds = SplitScreenBounds.INSTANCE.getSecondaryWindowBounds(context); taskWidth = bounds.availableSize.x; taskHeight = bounds.availableSize.y; } else { taskWidth = dp.availableWidthPx; taskHeight = dp.availableHeightPx; } // Note this should be same as dp.availableWidthPx and dp.availableHeightPx unless // we override the insets ourselves. int launcherVisibleWidth = dp.widthPx - insets.left - insets.right; Loading @@ -110,47 +116,16 @@ public abstract class WindowSizeStrategy { * Calculates the modal taskView size for the provided device configuration */ public void calculateModalTaskSize(Context context, DeviceProfile dp, Rect outRect) { float taskWidth, taskHeight, paddingHorz; Resources res = context.getResources(); Rect insets = dp.getInsets(); if (dp.isMultiWindowMode) { getMultiWindowSize(context, dp, mTempPoint); taskWidth = mTempPoint.x; taskHeight = mTempPoint.y; paddingHorz = res.getDimension(R.dimen.multi_window_task_card_horz_space); } else { taskWidth = dp.availableWidthPx; taskHeight = dp.availableHeightPx; final int paddingResId; if (dp.isVerticalBarLayout()) { paddingResId = R.dimen.landscape_task_card_horz_space; } else { paddingResId = R.dimen.portrait_modal_task_card_horz_space; } paddingHorz = res.getDimension(paddingResId); } // Note this should be same as dp.availableWidthPx and dp.availableHeightPx unless // we override the insets ourselves. int launcherVisibleWidth = dp.widthPx - insets.left - insets.right; int launcherVisibleHeight = dp.heightPx - insets.top - insets.bottom; // Calculate for the overview height. float overviewActionsHeight = getOverviewActionsHeight(context); float availableHeight = launcherVisibleHeight - overviewActionsHeight; float availableWidth = launcherVisibleWidth - paddingHorz; float scale = Math.min(availableWidth / taskWidth, availableHeight / taskHeight); float outWidth = scale * taskWidth; float outHeight = scale * taskHeight; // Center in the visible space float x = insets.left + (launcherVisibleWidth - outWidth) / 2; float y = insets.top + (launcherVisibleHeight - overviewActionsHeight - outHeight) / 2; outRect.set(Math.round(x), Math.round(y), Math.round(x) + Math.round(outWidth), Math.round(y) + Math.round(outHeight)); float paddingHorz = context.getResources().getDimension(dp.isMultiWindowMode ? R.dimen.multi_window_task_card_horz_space : dp.isVerticalBarLayout() ? R.dimen.landscape_task_card_horz_space : R.dimen.portrait_modal_task_card_horz_space); float extraVerticalSpace = getOverviewActionsHeight(context); float paddingVert = 0; float topIconMargin = 0; calculateTaskSizeInternal(context, dp, extraVerticalSpace, paddingHorz, paddingVert, topIconMargin, outRect); } /** Gets the space that the overview actions will take, including margins. */ Loading