summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Miranda <jonmiranda@google.com>2023-03-23 21:38:49 -0700
committerJon Miranda <jonmiranda@google.com>2023-03-24 12:29:11 -0700
commit9c478b6c29659f516c1ac37cf72914f9caa0e05d (patch)
treede4502451d626293ba2850f8b0b54bd9ba0409aa
parentbc65c3d442fae3696bfc216d9e5e3b4e8f80c04e (diff)
downloadLauncher3-9c478b6c29659f516c1ac37cf72914f9caa0e05d.tar.gz
Add taskbarIconSize to GridOption/DisplayOptions
- Renamed variables to make it more clear what they represent - DeviceProfile will be source of truth for taskbar sizes Bug: 265144213 Test: phone, multi-display, tablet Change-Id: Id9c19d15a65894fd7645e0f876a4b6527b713c34 Flag: ENABLE_TRANSIENT_TASKBAR=true
-rw-r--r--quickstep/res/layout/transient_taskbar.xml2
-rw-r--r--quickstep/res/values-sw720dp/dimens.xml4
-rw-r--r--quickstep/res/values/config.xml3
-rw-r--r--quickstep/res/values/dimens.xml8
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java2
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java2
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java6
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java13
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt6
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java4
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java4
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt2
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java2
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java26
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarStashViaTouchController.kt4
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarView.java2
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java18
-rw-r--r--quickstep/src/com/android/quickstep/BaseActivityInterface.java4
-rw-r--r--quickstep/src/com/android/quickstep/util/TaskViewSimulator.java2
-rw-r--r--quickstep/src/com/android/quickstep/views/OverviewActionsView.java2
-rw-r--r--quickstep/src/com/android/quickstep/views/TaskThumbnailView.java2
-rw-r--r--quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt8
-rw-r--r--res/values/attrs.xml9
-rw-r--r--res/values/config.xml4
-rw-r--r--res/values/dimens.xml9
-rw-r--r--src/com/android/launcher3/DeviceProfile.java46
-rw-r--r--src/com/android/launcher3/InvariantDeviceProfile.java30
-rw-r--r--src/com/android/launcher3/allapps/WorkModeSwitch.java4
-rw-r--r--src/com/android/launcher3/util/DimensionUtils.kt2
-rw-r--r--src/com/android/launcher3/views/BaseDragLayer.java2
-rw-r--r--src/com/android/launcher3/views/Snackbar.java2
-rw-r--r--tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt60
32 files changed, 171 insertions, 123 deletions
diff --git a/quickstep/res/layout/transient_taskbar.xml b/quickstep/res/layout/transient_taskbar.xml
index f9ece84a4d..47d63e728c 100644
--- a/quickstep/res/layout/transient_taskbar.xml
+++ b/quickstep/res/layout/transient_taskbar.xml
@@ -28,7 +28,7 @@
android:gravity="center"
android:forceHasOverlappingRendering="false"
android:layout_gravity="bottom"
- android:layout_marginBottom="@dimen/transient_taskbar_margin"
+ android:layout_marginBottom="@dimen/transient_taskbar_bottom_margin"
android:clipChildren="false" />
<com.android.launcher3.taskbar.TaskbarScrimView
diff --git a/quickstep/res/values-sw720dp/dimens.xml b/quickstep/res/values-sw720dp/dimens.xml
index 0832a91981..9e832bc5e4 100644
--- a/quickstep/res/values-sw720dp/dimens.xml
+++ b/quickstep/res/values-sw720dp/dimens.xml
@@ -38,10 +38,6 @@
<dimen name="allset_page_allset_text_size">42sp</dimen>
<dimen name="allset_page_swipe_up_text_size">16sp</dimen>
- <!-- Transient taskbar -->
- <dimen name="transient_taskbar_size">76dp</dimen>
- <dimen name="transient_taskbar_icon_size">52dp</dimen>
-
<!-- Taskbar swipe up thresholds -->
<dimen name="taskbar_from_nav_threshold">30dp</dimen>
<dimen name="taskbar_app_window_threshold">100dp</dimen>
diff --git a/quickstep/res/values/config.xml b/quickstep/res/values/config.xml
index b61bdfbc20..0d3aeb3717 100644
--- a/quickstep/res/values/config.xml
+++ b/quickstep/res/values/config.xml
@@ -55,4 +55,7 @@
<!-- Taskbar -->
<!-- Align the Taskbar to the start (Left/Right) of the device when 3 button nav is enabled. -->
<bool name="start_align_taskbar">false</bool>
+
+ <!-- This is a float because it is converted to dp later in DeviceProfile -->
+ <item name="taskbar_icon_size" type="dimen" format="float">44</item>
</resources>
diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml
index c6e90c4295..93fb65d107 100644
--- a/quickstep/res/values/dimens.xml
+++ b/quickstep/res/values/dimens.xml
@@ -261,7 +261,6 @@
<!-- Taskbar -->
<dimen name="taskbar_size">@*android:dimen/taskbar_frame_height</dimen>
<dimen name="taskbar_ime_size">48dp</dimen>
- <dimen name="taskbar_icon_size">44dp</dimen>
<dimen name="taskbar_icon_min_touch_size">48dp</dimen>
<!-- Note that this applies to both sides of all icons, so visible space is double this. -->
<dimen name="taskbar_icon_spacing">12dp</dimen>
@@ -292,13 +291,12 @@
<!-- Transient taskbar -->
- <dimen name="transient_taskbar_size">72dp</dimen>
+ <dimen name="transient_taskbar_padding">12dp</dimen>
<dimen name="transient_taskbar_min_width">150dp</dimen>
- <dimen name="transient_taskbar_icon_size">48dp</dimen>
- <dimen name="transient_taskbar_margin">24dp</dimen>
+ <dimen name="transient_taskbar_bottom_margin">24dp</dimen>
<dimen name="transient_taskbar_shadow_blur">40dp</dimen>
<dimen name="transient_taskbar_key_shadow_distance">10dp</dimen>
- <dimen name="transient_taskbar_stashed_size">32dp</dimen>
+ <dimen name="transient_taskbar_stashed_height">32dp</dimen>
<dimen name="transient_taskbar_all_apps_button_translation_x_offset">4dp</dimen>
<dimen name="transient_taskbar_stash_spring_velocity_dp_per_s">400dp</dimen>
diff --git a/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
index 48481d88b9..268024fd3d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
@@ -58,7 +58,7 @@ public class DesktopNavbarButtonsViewController extends NavbarButtonsViewControl
@Override
public void init(TaskbarControllers controllers) {
mControllers = controllers;
- mNavButtonsView.getLayoutParams().height = mContext.getDeviceProfile().taskbarSize;
+ mNavButtonsView.getLayoutParams().height = mContext.getDeviceProfile().taskbarHeight;
// Quick settings and notifications buttons
addButton(R.drawable.ic_sysbar_quick_settings, BUTTON_QUICK_SETTINGS,
diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
index 352740fad3..a713ff53a7 100644
--- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
@@ -265,7 +265,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
flags -> (flags & flagsToRemoveTranslation) != 0, AnimatedFloat.VALUE,
1, 0));
// Center nav buttons in new height for IME.
- float transForIme = (mContext.getDeviceProfile().taskbarSize
+ float transForIme = (mContext.getDeviceProfile().taskbarHeight
- mControllers.taskbarInsetsController.getTaskbarHeightForIme()) / 2f;
// For gesture nav, nav buttons only show for IME anyway so keep them translated down.
float defaultButtonTransY = alwaysShowButtons ? 0 : transForIme;
diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
index 48b3f72424..941b4b077a 100644
--- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
@@ -111,13 +111,11 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
mStashedHandleWidth =
resources.getDimensionPixelSize(R.dimen.taskbar_stashed_small_screen);
} else {
- mTaskbarSize = deviceProfile.taskbarSize;
+ mTaskbarSize = deviceProfile.taskbarHeight;
mStashedHandleWidth = resources
.getDimensionPixelSize(R.dimen.taskbar_stashed_handle_width);
}
- int taskbarBottomMargin = DisplayController.isTransientTaskbar(mActivity)
- ? resources.getDimensionPixelSize(R.dimen.transient_taskbar_margin)
- : 0;
+ int taskbarBottomMargin = deviceProfile.taskbarBottomMargin;
mStashedHandleView.getLayoutParams().height = mTaskbarSize + taskbarBottomMargin;
mTaskbarStashedHandleAlpha.get(ALPHA_INDEX_STASHED).setValue(
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index 77a9d780b0..681ae53a0c 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -302,10 +302,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
deviceProfile.hotseatQsbWidth = originDeviceProfile.hotseatQsbWidth;
// Update icon size
- deviceProfile.iconSizePx = resources.getDimensionPixelSize(
- DisplayController.isTransientTaskbar(TaskbarActivityContext.this)
- ? R.dimen.transient_taskbar_icon_size
- : R.dimen.taskbar_icon_size);
+ deviceProfile.iconSizePx = deviceProfile.taskbarIconSize;
deviceProfile.updateIconSize(1f, resources);
}).build();
}
@@ -716,13 +713,13 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
}
if (DisplayController.isTransientTaskbar(this)) {
- int taskbarSize = resources.getDimensionPixelSize(R.dimen.transient_taskbar_size);
- return taskbarSize
- + (2 * resources.getDimensionPixelSize(R.dimen.transient_taskbar_margin))
+ return mDeviceProfile.taskbarHeight
+ + (2 * mDeviceProfile.taskbarBottomMargin)
+ resources.getDimensionPixelSize(R.dimen.transient_taskbar_shadow_blur);
}
- return mDeviceProfile.taskbarSize + Math.max(getLeftCornerRadius(), getRightCornerRadius());
+ return mDeviceProfile.taskbarHeight
+ + Math.max(getLeftCornerRadius(), getRightCornerRadius());
}
public int getSetupWindowHeight() {
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
index 82b455d24a..580d3919e3 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
@@ -33,11 +33,11 @@ class TaskbarBackgroundRenderer(context: TaskbarActivityContext) {
val paint = Paint()
val lastDrawnTransientRect = RectF()
- var backgroundHeight = context.deviceProfile.taskbarSize.toFloat()
+ var backgroundHeight = context.deviceProfile.taskbarHeight.toFloat()
var translationYForSwipe = 0f
var translationYForStash = 0f
- private var maxBackgroundHeight = context.deviceProfile.taskbarSize.toFloat()
+ private var maxBackgroundHeight = context.deviceProfile.taskbarHeight.toFloat()
private val transientBackgroundBounds = context.transientTaskbarBounds
private val isTransientTaskbar = DisplayController.isTransientTaskbar(context)
@@ -68,7 +68,7 @@ class TaskbarBackgroundRenderer(context: TaskbarActivityContext) {
if (isTransientTaskbar) {
val res = context.resources
- bottomMargin = res.getDimensionPixelSize(R.dimen.transient_taskbar_margin)
+ bottomMargin = res.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin)
shadowBlur = res.getDimension(R.dimen.transient_taskbar_shadow_blur)
keyShadowDistance = res.getDimension(R.dimen.transient_taskbar_key_shadow_distance)
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
index 7f8879469a..2628a7f17d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
@@ -94,7 +94,7 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
*/
public Rect getFolderBoundingBox() {
Rect boundingBox = new Rect(0, 0, mTaskbarDragLayer.getWidth(),
- mTaskbarDragLayer.getHeight() - mActivity.getDeviceProfile().taskbarSize);
+ mTaskbarDragLayer.getHeight() - mActivity.getDeviceProfile().taskbarHeight);
boundingBox.inset(mFolderMargin, mFolderMargin);
return boundingBox;
}
@@ -233,7 +233,7 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
deviceProfile.getDisplayInfo().currentSize.y :
taskbarDimensions.y;
} else {
- return deviceProfile.taskbarSize;
+ return deviceProfile.taskbarHeight;
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java
index d3f1b2f51e..d1b8644447 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduController.java
@@ -68,9 +68,7 @@ public class TaskbarEduController implements TaskbarControllers.LoggableTaskbarC
ViewGroup.MarginLayoutParams layoutParams =
(ViewGroup.MarginLayoutParams) startButton.getLayoutParams();
DeviceProfile dp = overlayContext.getDeviceProfile();
- layoutParams.bottomMargin += DisplayController.isTransientTaskbar(overlayContext)
- ? dp.taskbarSize + dp.transientTaskbarMargin
- : dp.taskbarSize;
+ layoutParams.bottomMargin += dp.taskbarHeight + dp.taskbarBottomMargin;
mTaskbarEduView.init(new TaskbarEduCallbacks());
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt
index bc582e2b65..b6a799837f 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt
@@ -130,7 +130,7 @@ class TaskbarEduTooltipController(val activityContext: TaskbarActivityContext) :
findViewById<View>(R.id.done_button)?.setOnClickListener { hide() }
if (DisplayController.isTransientTaskbar(activityContext)) {
(layoutParams as ViewGroup.MarginLayoutParams).bottomMargin +=
- activityContext.deviceProfile.taskbarSize
+ activityContext.deviceProfile.taskbarHeight
}
show()
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java
index cfc7813305..90fcd37d2e 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java
@@ -248,7 +248,7 @@ public class TaskbarPopupController implements TaskbarControllers.LoggableTaskba
// Move the icon to align with the center-top of the touch point
Point iconShift = new Point();
iconShift.x = mIconLastTouchPos.x - sv.getIconCenter().x;
- iconShift.y = mIconLastTouchPos.y - mContext.getDeviceProfile().iconSizePx;
+ iconShift.y = mIconLastTouchPos.y - mContext.getDeviceProfile().taskbarIconSize;
((TaskbarDragController) ActivityContext.lookupContext(
v.getContext()).getDragController()).startDragOnLongClick(sv, iconShift);
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
index d26fbc4459..b1f984fb42 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
@@ -40,7 +40,6 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.content.SharedPreferences;
-import android.content.res.Resources;
import android.util.Log;
import android.view.InsetsController;
import android.view.View;
@@ -231,21 +230,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
mPrefs = LauncherPrefs.getPrefs(mActivity);
mSystemUiProxy = SystemUiProxy.INSTANCE.get(activity);
mAccessibilityManager = mActivity.getSystemService(AccessibilityManager.class);
- if (isPhoneMode()) {
- // DeviceProfile's taskbar vars aren't initialized w/ the flag off
- Resources resources = mActivity.getResources();
- boolean isTransientTaskbar = DisplayController.isTransientTaskbar(mActivity);
- mUnstashedHeight = resources.getDimensionPixelSize(isTransientTaskbar
- ? R.dimen.transient_taskbar_size
- : R.dimen.taskbar_size);
- mStashedHeight = resources.getDimensionPixelSize(isTransientTaskbar
- ? R.dimen.transient_taskbar_stashed_size
- : R.dimen.taskbar_stashed_size);
- } else {
- mUnstashedHeight = mActivity.getDeviceProfile().taskbarSize;
- mStashedHeight = mActivity.getDeviceProfile().stashedTaskbarSize;
- }
+ mUnstashedHeight = mActivity.getDeviceProfile().taskbarHeight;
+ mStashedHeight = mActivity.getDeviceProfile().stashedTaskbarHeight;
}
public void init(TaskbarControllers controllers, boolean setupUIVisible) {
@@ -407,12 +394,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
* Returns the height that taskbar will be touchable.
*/
public int getTouchableHeight() {
- int bottomMargin = 0;
- if (DisplayController.isTransientTaskbar(mActivity)) {
- bottomMargin = mActivity.getResources().getDimensionPixelSize(
- R.dimen.transient_taskbar_margin);
- }
- return mIsStashed ? mStashedHeight : (mUnstashedHeight + bottomMargin);
+ return mIsStashed
+ ? mStashedHeight
+ : (mUnstashedHeight + mActivity.getDeviceProfile().taskbarBottomMargin);
}
/**
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashViaTouchController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashViaTouchController.kt
index 0e5fa380e7..2373142074 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashViaTouchController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashViaTouchController.kt
@@ -46,9 +46,9 @@ class TaskbarStashViaTouchController(val controllers: TaskbarControllers) : Touc
private val displacementInterpolator = LINEAR
/** How far we can translate the TaskbarView before it's offscreen. */
private val maxVisualDisplacement =
- activity.resources.getDimensionPixelSize(R.dimen.transient_taskbar_margin).toFloat()
+ activity.resources.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin).toFloat()
/** How far the swipe could go, if user swiped from the very top of TaskbarView. */
- private val maxTouchDisplacement = maxVisualDisplacement + activity.deviceProfile.taskbarSize
+ private val maxTouchDisplacement = maxVisualDisplacement + activity.deviceProfile.taskbarHeight
private val touchDisplacementToStash =
activity.resources.getDimensionPixelSize(R.dimen.taskbar_to_nav_threshold).toFloat()
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
index 0eecc5664b..b7d5993a49 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
@@ -125,7 +125,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
&& resources.getBoolean(R.bool.start_align_taskbar);
int actualMargin = resources.getDimensionPixelSize(R.dimen.taskbar_icon_spacing);
- int actualIconSize = mActivityContext.getDeviceProfile().iconSizePx;
+ int actualIconSize = mActivityContext.getDeviceProfile().taskbarIconSize;
mIconTouchSize = Math.max(actualIconSize,
resources.getDimensionPixelSize(R.dimen.taskbar_icon_min_touch_size));
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
index f2ba54af3f..4ab093f220 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
@@ -59,7 +59,6 @@ import com.android.launcher3.anim.RoundedRectRevealOutlineProvider;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.icons.ThemedIconDrawable;
import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.ItemInfoMatcher;
import com.android.launcher3.util.LauncherBindableItemsContainer;
import com.android.launcher3.util.MultiPropertyFactory;
@@ -134,9 +133,7 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, NUM_ALPHA_CHANNELS);
mTaskbarIconAlpha.setUpdateVisibility(true);
mModelCallbacks = new TaskbarModelCallbacks(activity, mTaskbarView);
- mTaskbarBottomMargin = DisplayController.isTransientTaskbar(activity)
- ? activity.getResources().getDimensionPixelSize(R.dimen.transient_taskbar_margin)
- : 0;
+ mTaskbarBottomMargin = activity.getDeviceProfile().taskbarBottomMargin;
mStashedHandleHeight = activity.getResources()
.getDimensionPixelSize(R.dimen.taskbar_stashed_handle_height);
mLauncherThemedIconsBackgroundColor = ThemedIconDrawable.getColors(mActivity)[0];
@@ -157,7 +154,7 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
mTaskbarView.init(new TaskbarViewCallbacks());
mTaskbarView.getLayoutParams().height = isPhoneMode(mActivity.getDeviceProfile())
? mActivity.getResources().getDimensionPixelSize(R.dimen.taskbar_size)
- : mActivity.getDeviceProfile().taskbarSize;
+ : mActivity.getDeviceProfile().taskbarHeight;
mTaskbarIconScaleForStash.updateValue(1f);
@@ -429,7 +426,7 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
PendingAnimation setter = new PendingAnimation(100);
DeviceProfile taskbarDp = mActivity.getDeviceProfile();
Rect hotseatPadding = launcherDp.getHotseatLayoutPadding(mActivity);
- float scaleUp = ((float) launcherDp.iconSizePx) / taskbarDp.iconSizePx;
+ float scaleUp = ((float) launcherDp.iconSizePx) / taskbarDp.taskbarIconSize;
int borderSpacing = launcherDp.hotseatBorderSpace;
int hotseatCellSize = DeviceProfile.calculateCellWidth(
launcherDp.availableWidthPx - hotseatPadding.left - hotseatPadding.right,
@@ -451,7 +448,7 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
}
int collapsedHeight = mActivity.getDefaultTaskbarWindowHeight();
- int expandedHeight = Math.max(collapsedHeight, taskbarDp.taskbarSize + offsetY);
+ int expandedHeight = Math.max(collapsedHeight, taskbarDp.taskbarHeight + offsetY);
setter.addOnFrameListener(anim -> mActivity.setTaskbarWindowHeight(
anim.getAnimatedFraction() > 0 ? expandedHeight : collapsedHeight));
@@ -485,8 +482,9 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
: hotseatPadding.left - borderSpacing - launcherDp.hotseatQsbWidth / 2f;
float childCenter = (child.getLeft() + child.getRight()) / 2f;
float halfQsbIconWidthDiff =
- (launcherDp.hotseatQsbWidth - taskbarDp.iconSizePx) / 2f;
- float scale = ((float) taskbarDp.iconSizePx) / launcherDp.hotseatQsbVisualHeight;
+ (launcherDp.hotseatQsbWidth - taskbarDp.taskbarIconSize) / 2f;
+ float scale = ((float) taskbarDp.taskbarIconSize)
+ / launcherDp.hotseatQsbVisualHeight;
setter.addFloat(child, SCALE_PROPERTY, scale, 1f, interpolator);
float fromX = isRtl ? -halfQsbIconWidthDiff : halfQsbIconWidthDiff;
@@ -559,7 +557,7 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
return;
}
mActivity.setTaskbarWindowHeight(
- deviceProfile.taskbarSize + deviceProfile.getTaskbarOffsetY());
+ deviceProfile.taskbarHeight + deviceProfile.getTaskbarOffsetY());
mTaskbarNavButtonTranslationY.updateValue(-deviceProfile.getTaskbarOffsetY());
}
diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
index 487da9208a..ce41c60e89 100644
--- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java
+++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
@@ -306,7 +306,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T
out.x = dp.widthPx;
out.y = dp.heightPx;
if (dp.isTablet && !DisplayController.isTransientTaskbar(context)) {
- out.y -= dp.taskbarSize;
+ out.y -= dp.taskbarHeight;
}
}
@@ -365,7 +365,7 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T
calculateTaskSize(context, dp, outRect, orientedState);
boolean isGridOnlyOverview = dp.isTablet && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get();
int claimedSpaceBelow = isGridOnlyOverview
- ? dp.overviewActionsTopMarginPx + dp.overviewActionsHeight + dp.stashedTaskbarSize
+ ? dp.overviewActionsTopMarginPx + dp.overviewActionsHeight + dp.stashedTaskbarHeight
: (dp.heightPx - outRect.bottom - dp.getInsets().bottom);
int minimumHorizontalPadding = 0;
if (!isGridOnlyOverview) {
diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
index 0d61bc85f8..f8893bd9dd 100644
--- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
+++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
@@ -336,7 +336,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
boolean isRtlEnabled = !mIsRecentsRtl;
mPositionHelper.updateThumbnailMatrix(
mThumbnailPosition, mThumbnailData, mTaskRect.width(), mTaskRect.height(),
- mDp.widthPx, mDp.heightPx, mDp.taskbarSize, mDp.isTablet,
+ mDp.widthPx, mDp.heightPx, mDp.taskbarHeight, mDp.isTablet,
mOrientationState.getRecentsActivityRotation(), isRtlEnabled);
mPositionHelper.getMatrix().invert(mInversePositionMatrix);
if (DEBUG) {
diff --git a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
index 409504b167..e47c0893e5 100644
--- a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
+++ b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
@@ -283,7 +283,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
}
if (mDp.isTablet && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get()) {
- return mDp.stashedTaskbarSize;
+ return mDp.stashedTaskbarHeight;
}
// Align to bottom of task Rect.
diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
index 899fea2c24..f746203f3b 100644
--- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
@@ -559,7 +559,7 @@ public class TaskThumbnailView extends View {
boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
mPreviewPositionHelper.updateThumbnailMatrix(mPreviewRect, mThumbnailData,
getMeasuredWidth(), getMeasuredHeight(), dp.widthPx, dp.heightPx,
- dp.taskbarSize, dp.isTablet, currentRotation, isRtl);
+ dp.taskbarHeight, dp.isTablet, currentRotation, isRtl);
mBitmapShader.setLocalMatrix(mPreviewPositionHelper.getMatrix());
mPaint.setShader(mBitmapShader);
diff --git a/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt b/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt
index 6c0e7dc8fd..a9dc043535 100644
--- a/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt
@@ -64,7 +64,7 @@ class FullscreenDrawParamsTest : FakeInvariantDeviceProfileTest() {
canvasHeight,
dp.widthPx,
dp.heightPx,
- dp.taskbarSize,
+ dp.taskbarHeight,
dp.isTablet,
currentRotation,
isRtl
@@ -99,7 +99,7 @@ class FullscreenDrawParamsTest : FakeInvariantDeviceProfileTest() {
canvasHeight,
dp.widthPx,
dp.heightPx,
- dp.taskbarSize,
+ dp.taskbarHeight,
dp.isTablet,
currentRotation,
isRtl
@@ -134,7 +134,7 @@ class FullscreenDrawParamsTest : FakeInvariantDeviceProfileTest() {
canvasHeight,
dp.widthPx,
dp.heightPx,
- dp.taskbarSize,
+ dp.taskbarHeight,
dp.isTablet,
currentRotation,
isRtl
@@ -169,7 +169,7 @@ class FullscreenDrawParamsTest : FakeInvariantDeviceProfileTest() {
canvasHeight,
dp.widthPx,
dp.heightPx,
- dp.taskbarSize,
+ dp.taskbarHeight,
dp.isTablet,
currentRotation,
isRtl
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 96938ca845..682153f7e4 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -380,6 +380,15 @@
<!-- defaults to hotseatQsbSpace, if not specified -->
<attr name="hotseatQsbSpaceTwoPanelPortrait" format="float" />
+ <!-- defaults to res.taskbar_icon_size, if not specified -->
+ <attr name="transientTaskbarIconSize" format="float" />
+ <!-- defaults to transientTaskbarIconSize, if not specified -->
+ <attr name="transientTaskbarIconSizeLandscape" format="float" />
+ <!-- defaults to transientTaskbarIconSize, if not specified -->
+ <attr name="transientTaskbarIconSizeTwoPanelLandscape" format="float" />
+ <!-- defaults to transientTaskbarIconSize, if not specified -->
+ <attr name="transientTaskbarIconSizeTwoPanelPortrait" format="float" />
+
<attr name="iconImageSize" format="float" />
<!-- defaults to iconImageSize, if not specified -->
<attr name="iconSizeLandscape" format="float" />
diff --git a/res/values/config.xml b/res/values/config.xml
index e13b51c0ee..5a6698b80e 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -164,6 +164,10 @@
<item name="swipe_up_rect_xy_damping_ratio" type="dimen" format="float">0.8</item>
<item name="swipe_up_rect_xy_stiffness" type="dimen" format="float">200</item>
+ <!-- Taskbar -->
+ <!-- This is a float because it is converted to dp later in DeviceProfile -->
+ <item name="taskbar_icon_size" type="dimen" format="float">0</item>
+
<!-- These params are only used for hotseat items on devices that have a taskbar. -->
<item name="taskbar_swipe_up_rect_x_stiffness" type="dimen" format="float">350</item>
<item name="taskbar_swipe_up_rect_x_damping" type="dimen" format="float">0.9</item>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e62cff5a4f..cd41bafcee 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -371,14 +371,13 @@
<dimen name="min_hotseat_icon_space">18dp</dimen>
<dimen name="max_hotseat_icon_space">50dp</dimen>
<dimen name="min_hotseat_qsb_width">0dp</dimen>
- <dimen name="taskbar_icon_size">0dp</dimen>
- <dimen name="transient_taskbar_icon_size">0dp</dimen>
+
<!-- Transient taskbar (placeholders to compile in Launcher3 without Quickstep) -->
- <dimen name="transient_taskbar_size">0dp</dimen>
- <dimen name="transient_taskbar_margin">0dp</dimen>
+ <dimen name="transient_taskbar_padding">0dp</dimen>
+ <dimen name="transient_taskbar_bottom_margin">0dp</dimen>
<dimen name="transient_taskbar_shadow_blur">0dp</dimen>
<dimen name="transient_taskbar_key_shadow_distance">0dp</dimen>
- <dimen name="transient_taskbar_stashed_size">0dp</dimen>
+ <dimen name="transient_taskbar_stashed_height">0dp</dimen>
<dimen name="transient_taskbar_clamped_offset_bound">0dp</dimen>
<dimen name="taskbar_icon_spacing">0dp</dimen>
<dimen name="taskbar_nav_buttons_size">0dp</dimen>
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index aca03e37f3..fcb220ebd8 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -44,6 +44,7 @@ import android.view.Surface;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.core.content.res.ResourcesCompat;
import com.android.launcher3.CellLayout.ContainerType;
import com.android.launcher3.DevicePaddings.DevicePadding;
@@ -262,10 +263,10 @@ public class DeviceProfile {
public boolean isTaskbarPresent;
// Whether Taskbar will inset the bottom of apps by taskbarSize.
public boolean isTaskbarPresentInApps;
- public int taskbarSize;
- public int transientTaskbarSize;
- public int stashedTaskbarSize;
- public int transientTaskbarMargin;
+ public final int taskbarHeight;
+ public final int stashedTaskbarHeight;
+ public final int taskbarBottomMargin;
+ public final int taskbarIconSize;
// DragController
public int flingToDeleteThresholdVelocity;
@@ -328,17 +329,21 @@ public class DeviceProfile {
}
}
- if (isTaskbarPresent) {
- transientTaskbarSize = res.getDimensionPixelSize(R.dimen.transient_taskbar_size);
- transientTaskbarMargin = res.getDimensionPixelSize(R.dimen.transient_taskbar_margin);
- if (DisplayController.isTransientTaskbar(context)) {
- taskbarSize = transientTaskbarSize;
- stashedTaskbarSize =
- res.getDimensionPixelSize(R.dimen.transient_taskbar_stashed_size);
- } else {
- taskbarSize = res.getDimensionPixelSize(R.dimen.taskbar_size);
- stashedTaskbarSize = res.getDimensionPixelSize(R.dimen.taskbar_stashed_size);
- }
+ if (DisplayController.isTransientTaskbar(context)) {
+ float invTransientIconSizeDp = inv.transientTaskbarIconSize[mTypeIndex];
+ taskbarIconSize = pxFromDp(invTransientIconSizeDp, mMetrics);
+ taskbarHeight = taskbarIconSize
+ + (2 * res.getDimensionPixelSize(R.dimen.transient_taskbar_padding));
+ stashedTaskbarHeight =
+ res.getDimensionPixelSize(R.dimen.transient_taskbar_stashed_height);
+ taskbarBottomMargin =
+ res.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin);
+ } else {
+ taskbarIconSize = pxFromDp(ResourcesCompat.getFloat(res, R.dimen.taskbar_icon_size),
+ mMetrics);
+ taskbarHeight = res.getDimensionPixelSize(R.dimen.taskbar_size);
+ stashedTaskbarHeight = res.getDimensionPixelSize(R.dimen.taskbar_stashed_size);
+ taskbarBottomMargin = 0;
}
edgeMarginPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_edge_margin);
@@ -1421,7 +1426,7 @@ public class DeviceProfile {
* Returns the number of pixels the taskbar is translated from the bottom of the screen.
*/
public int getTaskbarOffsetY() {
- int taskbarIconBottomSpace = (taskbarSize - iconSizePx) / 2;
+ int taskbarIconBottomSpace = (taskbarHeight - iconSizePx) / 2;
int launcherIconBottomSpace =
Math.min((hotseatCellHeightPx - iconSizePx) / 2, gridVisualizationPaddingY);
return getHotseatBarBottomPadding() + launcherIconBottomSpace - taskbarIconBottomSpace;
@@ -1432,7 +1437,7 @@ public class DeviceProfile {
*/
public int getOverviewActionsClaimedSpaceBelow() {
if (isTaskbarPresent) {
- return transientTaskbarSize + transientTaskbarMargin * 2;
+ return taskbarHeight + taskbarBottomMargin * 2;
}
return mInsets.bottom;
}
@@ -1470,7 +1475,7 @@ public class DeviceProfile {
mInsets.top + availableHeightPx);
} else {
// Folders should only appear below the drop target bar and above the hotseat
- int hotseatTop = isTaskbarPresent ? taskbarSize : hotseatBarSizePx;
+ int hotseatTop = isTaskbarPresent ? taskbarHeight : hotseatBarSizePx;
return new Rect(mInsets.left + edgeMarginPx,
mInsets.top + dropTargetBarSizePx + edgeMarginPx,
mInsets.left + availableWidthPx - edgeMarginPx,
@@ -1671,7 +1676,10 @@ public class DeviceProfile {
writer.println(prefix + "\tisTaskbarPresent:" + isTaskbarPresent);
writer.println(prefix + "\tisTaskbarPresentInApps:" + isTaskbarPresentInApps);
- writer.println(prefix + pxToDpStr("taskbarSize", taskbarSize));
+ writer.println(prefix + pxToDpStr("taskbarHeight", taskbarHeight));
+ writer.println(prefix + pxToDpStr("stashedTaskbarHeight", stashedTaskbarHeight));
+ writer.println(prefix + pxToDpStr("taskbarBottomMargin", taskbarBottomMargin));
+ writer.println(prefix + pxToDpStr("taskbarIconSize", taskbarIconSize));
writer.println(prefix + pxToDpStr("desiredWorkspaceHorizontalMarginPx",
desiredWorkspaceHorizontalMarginPx));
diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java
index a498323140..47396a530f 100644
--- a/src/com/android/launcher3/InvariantDeviceProfile.java
+++ b/src/com/android/launcher3/InvariantDeviceProfile.java
@@ -149,6 +149,8 @@ public class InvariantDeviceProfile {
public float[] allAppsIconTextSize;
public PointF[] allAppsBorderSpaces;
+ public float[] transientTaskbarIconSize;
+
private SparseArray<TypedValue> mExtraAttrs;
/**
@@ -396,6 +398,8 @@ public class InvariantDeviceProfile {
inlineQsb = closestProfile.inlineQsb;
+ transientTaskbarIconSize = displayOption.transientTaskbarIconSize;
+
// If the partner customization apk contains any grid overrides, apply them
// Supported overrides: numRows, numColumns, iconSize
applyPartnerDeviceProfileOverrides(context, metrics);
@@ -908,9 +912,13 @@ public class InvariantDeviceProfile {
private final float[] allAppsIconTextSizes = new float[COUNT_SIZES];
private final PointF[] allAppsBorderSpaces = new PointF[COUNT_SIZES];
+ private final float[] transientTaskbarIconSize = new float[COUNT_SIZES];
+
DisplayOption(GridOption grid, Context context, AttributeSet attrs) {
this.grid = grid;
+ Resources res = context.getResources();
+
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ProfileDisplayOption);
minWidthDps = a.getFloat(R.styleable.ProfileDisplayOption_minWidthDps, 0);
@@ -1101,8 +1109,7 @@ public class InvariantDeviceProfile {
hotseatBarBottomSpace[INDEX_DEFAULT] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatBarBottomSpace,
- ResourcesCompat.getFloat(context.getResources(),
- R.dimen.hotseat_bar_bottom_space_default));
+ ResourcesCompat.getFloat(res, R.dimen.hotseat_bar_bottom_space_default));
hotseatBarBottomSpace[INDEX_LANDSCAPE] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatBarBottomSpaceLandscape,
hotseatBarBottomSpace[INDEX_DEFAULT]);
@@ -1115,8 +1122,7 @@ public class InvariantDeviceProfile {
hotseatQsbSpace[INDEX_DEFAULT] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatQsbSpace,
- ResourcesCompat.getFloat(context.getResources(),
- R.dimen.hotseat_qsb_space_default));
+ ResourcesCompat.getFloat(res, R.dimen.hotseat_qsb_space_default));
hotseatQsbSpace[INDEX_LANDSCAPE] = a.getFloat(
R.styleable.ProfileDisplayOption_hotseatQsbSpaceLandscape,
hotseatQsbSpace[INDEX_DEFAULT]);
@@ -1127,6 +1133,19 @@ public class InvariantDeviceProfile {
R.styleable.ProfileDisplayOption_hotseatQsbSpaceTwoPanelPortrait,
hotseatQsbSpace[INDEX_DEFAULT]);
+ transientTaskbarIconSize[INDEX_DEFAULT] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSize,
+ ResourcesCompat.getFloat(res, R.dimen.taskbar_icon_size));
+ transientTaskbarIconSize[INDEX_LANDSCAPE] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSizeLandscape,
+ transientTaskbarIconSize[INDEX_DEFAULT]);
+ transientTaskbarIconSize[INDEX_TWO_PANEL_LANDSCAPE] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSizeTwoPanelLandscape,
+ transientTaskbarIconSize[INDEX_DEFAULT]);
+ transientTaskbarIconSize[INDEX_TWO_PANEL_PORTRAIT] = a.getFloat(
+ R.styleable.ProfileDisplayOption_transientTaskbarIconSizeTwoPanelPortrait,
+ hotseatQsbSpace[INDEX_DEFAULT]);
+
a.recycle();
}
@@ -1148,6 +1167,7 @@ public class InvariantDeviceProfile {
allAppsIconSizes[i] = 0;
allAppsIconTextSizes[i] = 0;
allAppsBorderSpaces[i] = new PointF();
+ transientTaskbarIconSize[i] = 0;
}
}
@@ -1168,6 +1188,7 @@ public class InvariantDeviceProfile {
allAppsIconTextSizes[i] *= w;
allAppsBorderSpaces[i].x *= w;
allAppsBorderSpaces[i].y *= w;
+ transientTaskbarIconSize[i] *= w;
}
return this;
@@ -1190,6 +1211,7 @@ public class InvariantDeviceProfile {
allAppsIconTextSizes[i] += p.allAppsIconTextSizes[i];
allAppsBorderSpaces[i].x += p.allAppsBorderSpaces[i].x;
allAppsBorderSpaces[i].y += p.allAppsBorderSpaces[i].y;
+ transientTaskbarIconSize[i] += p.transientTaskbarIconSize[i];
}
return this;
diff --git a/src/com/android/launcher3/allapps/WorkModeSwitch.java b/src/com/android/launcher3/allapps/WorkModeSwitch.java
index 3f2f21d470..ca16b24fe9 100644
--- a/src/com/android/launcher3/allapps/WorkModeSwitch.java
+++ b/src/com/android/launcher3/allapps/WorkModeSwitch.java
@@ -15,8 +15,6 @@
*/
package com.android.launcher3.allapps;
-import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_WORK_FAB_BUTTON_COLLAPSE;
-import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_WORK_FAB_BUTTON_EXTEND;
import static com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip.getTabWidth;
import android.animation.LayoutTransition;
@@ -116,7 +114,7 @@ public class WorkModeSwitch extends LinearLayout implements Insettable,
}
if (!dp.isGestureMode && dp.isTaskbarPresent) {
- bottomMargin += dp.taskbarSize;
+ bottomMargin += dp.taskbarHeight;
}
lp.bottomMargin = bottomMargin;
diff --git a/src/com/android/launcher3/util/DimensionUtils.kt b/src/com/android/launcher3/util/DimensionUtils.kt
index 1922310b28..9188c2ead4 100644
--- a/src/com/android/launcher3/util/DimensionUtils.kt
+++ b/src/com/android/launcher3/util/DimensionUtils.kt
@@ -37,7 +37,7 @@ object DimensionUtils {
// Taskbar for large screen
if (!isPhoneMode) {
p.x = ViewGroup.LayoutParams.MATCH_PARENT
- p.y = deviceProfile.taskbarSize
+ p.y = deviceProfile.taskbarHeight
return p
}
diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java
index 823003ce06..e4df413489 100644
--- a/src/com/android/launcher3/views/BaseDragLayer.java
+++ b/src/com/android/launcher3/views/BaseDragLayer.java
@@ -559,7 +559,7 @@ public abstract class BaseDragLayer<T extends Context & ActivityContext>
DeviceProfile dp = mActivity.getDeviceProfile();
if (dp.isTaskbarPresent) {
// Ignore taskbar gesture insets to avoid interfering with TouchControllers.
- gestureInsetBottom = Math.max(0, gestureInsetBottom - dp.taskbarSize);
+ gestureInsetBottom = Math.max(0, gestureInsetBottom - dp.taskbarHeight);
}
mSystemGestureRegion.set(
Math.max(gestureInsets.left, imeInset.left),
diff --git a/src/com/android/launcher3/views/Snackbar.java b/src/com/android/launcher3/views/Snackbar.java
index 86b341953f..8d5838e592 100644
--- a/src/com/android/launcher3/views/Snackbar.java
+++ b/src/com/android/launcher3/views/Snackbar.java
@@ -101,7 +101,7 @@ public class Snackbar extends AbstractFloatingView {
DeviceProfile deviceProfile = activity.getDeviceProfile();
params.setMargins(0, 0, 0, marginBottom
+ (deviceProfile.isTaskbarPresent
- ? deviceProfile.taskbarSize + deviceProfile.getTaskbarOffsetY()
+ ? deviceProfile.taskbarHeight + deviceProfile.getTaskbarOffsetY()
: insets.bottom));
TextView labelView = snackbar.findViewById(R.id.label);
diff --git a/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt b/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
index 86d21f3ddc..13db6c76c8 100644
--- a/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
+++ b/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
@@ -126,7 +126,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:false\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
"\tworkspacePadding.left: 0.0px (0.0dp)\n" +
"\tworkspacePadding.top: 0.0px (0.0dp)\n" +
@@ -258,7 +261,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:false\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
"\tworkspacePadding.left: 0.0px (0.0dp)\n" +
"\tworkspacePadding.top: 0.0px (0.0dp)\n" +
@@ -390,7 +396,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:false\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)\n" +
"\tworkspacePadding.left: 10.0px (3.8095238dp)\n" +
"\tworkspacePadding.top: 0.0px (0.0dp)\n" +
@@ -522,7 +531,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:false\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)\n" +
"\tworkspacePadding.left: 10.0px (3.8095238dp)\n" +
"\tworkspacePadding.top: 0.0px (0.0dp)\n" +
@@ -655,7 +667,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 1224.0px (612.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)\n" +
"\tworkspacePadding.left: 181.0px (90.5dp)\n" +
"\tworkspacePadding.top: 0.0px (0.0dp)\n" +
@@ -788,7 +803,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 1224.0px (612.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)\n" +
"\tworkspacePadding.left: 181.0px (90.5dp)\n" +
"\tworkspacePadding.top: 0.0px (0.0dp)\n" +
@@ -921,7 +939,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 1300.0px (650.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)\n" +
"\tworkspacePadding.left: 36.0px (18.0dp)\n" +
"\tworkspacePadding.top: 132.0px (66.0dp)\n" +
@@ -1054,7 +1075,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 1300.0px (650.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)\n" +
"\tworkspacePadding.left: 36.0px (18.0dp)\n" +
"\tworkspacePadding.top: 132.0px (66.0dp)\n" +
@@ -1192,7 +1216,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
"\tworkspacePadding.left: 21.0px (8.0dp)\n" +
"\tworkspacePadding.top: 30.0px (11.428572dp)\n" +
@@ -1329,7 +1356,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
"\tworkspacePadding.left: 21.0px (8.0dp)\n" +
"\tworkspacePadding.top: 30.0px (11.428572dp)\n" +
@@ -1466,7 +1496,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
"\tworkspacePadding.left: 21.0px (8.0dp)\n" +
"\tworkspacePadding.top: 24.0px (9.142858dp)\n" +
@@ -1599,7 +1632,10 @@ class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
"\thotseatQsbWidth: 0.0px (0.0dp)\n" +
"\tisTaskbarPresent:false\n" +
"\tisTaskbarPresentInApps:true\n" +
- "\ttaskbarSize: 0.0px (0.0dp)\n" +
+ "\ttaskbarHeight: 0.0px (0.0dp)\n" +
+ "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
+ "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
+ "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
"\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
"\tworkspacePadding.left: 21.0px (8.0dp)\n" +
"\tworkspacePadding.top: 24.0px (9.142858dp)\n" +