diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 041433213e..b10a59f6e4 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -923,6 +923,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