From a4f7e4577af4e148c318ab9ab7fad201bc7ce788 Mon Sep 17 00:00:00 2001 From: Jagrut Desai Date: Mon, 9 Sep 2024 09:30:54 -0700 Subject: [PATCH] Fix Taskbar Container not being aligned center in 3 button nav mode We were applying padding to taskbar container in 3 button navigation mode which we don't need as icon size are already correct. Test: Manual, Presubmit Bug: 364492586 Flag: EXEMPT bugfix Change-Id: Ib9bf55edf2b7bb67fcbeb044e0ad1e90027b17a6 --- .../taskbar/TaskbarActivityContext.java | 1 + .../customization/TaskbarFeatureEvaluator.kt | 37 ++++++++++--------- .../taskbar/customization/TaskbarIconSpecs.kt | 2 + .../customization/TaskbarSpecsEvaluator.kt | 5 ++- 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 47ae741908..188dcbdaa0 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -919,6 +919,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext { */ public void onDestroy() { mIsDestroyed = true; + mTaskbarFeatureEvaluator.onDestroy(); setUIController(TaskbarUIController.DEFAULT); mControllers.onDestroy(); if (!enableTaskbarNoRecreate() && !ENABLE_TASKBAR_NAVBAR_UNIFICATION) { diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt index c83ac5097e..7739a0e3df 100644 --- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt +++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt @@ -26,23 +26,6 @@ class TaskbarFeatureEvaluator private constructor( private val taskbarActivityContext: TaskbarActivityContext, ) { - - companion object { - @Volatile private lateinit var taskbarFeatureEvaluator: TaskbarFeatureEvaluator - - @JvmStatic - fun getInstance( - taskbarActivityContext: TaskbarActivityContext, - ): TaskbarFeatureEvaluator { - synchronized(this) { - if (!::taskbarFeatureEvaluator.isInitialized) { - taskbarFeatureEvaluator = TaskbarFeatureEvaluator(taskbarActivityContext) - } - return taskbarFeatureEvaluator - } - } - } - val hasAllApps = true val hasAppIcons = true val hasBubbles = false @@ -59,4 +42,24 @@ private constructor( val isLandscape: Boolean get() = taskbarActivityContext.deviceProfile.isLandscape + + fun onDestroy() { + taskbarFeatureEvaluator = null + } + + companion object { + @Volatile private var taskbarFeatureEvaluator: TaskbarFeatureEvaluator? = null + + @JvmStatic + fun getInstance( + taskbarActivityContext: TaskbarActivityContext, + ): TaskbarFeatureEvaluator { + synchronized(this) { + if (taskbarFeatureEvaluator == null) { + taskbarFeatureEvaluator = TaskbarFeatureEvaluator(taskbarActivityContext) + } + return taskbarFeatureEvaluator!! + } + } + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt index 6be0828e0f..e55cb1f50d 100644 --- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt +++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt @@ -37,6 +37,8 @@ object TaskbarIconSpecs { val minimumTaskbarIconTouchSize = TaskbarIconSize(48) + val transientOrPinnedTaskbarIconPaddingSize = iconSize52dp + val transientTaskbarIconSizeByGridSize = mapOf( TransientTaskbarIconSizeKey(6, 5, false) to iconSize52dp, diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt index f37b2c15bf..822ca6460f 100644 --- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt +++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt @@ -31,7 +31,10 @@ class TaskbarSpecsEvaluator( private var taskbarContainer: List = emptyList() val taskbarIconPadding: Int = - if (TaskbarIconSpecs.iconSize52dp.size > taskbarIconSize.size) { + if ( + TaskbarIconSpecs.transientOrPinnedTaskbarIconPaddingSize.size > taskbarIconSize.size && + !taskbarFeatureEvaluator.hasNavButtons + ) { (TaskbarIconSpecs.iconSize52dp.size - taskbarIconSize.size) / 2 } else { 0