Merge "Fix Taskbar Container not being aligned center in 3 button nav mode" into main

This commit is contained in:
Jagrut Desai
2024-09-10 16:28:23 +00:00
committed by Android (Google) Code Review
4 changed files with 27 additions and 18 deletions
@@ -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) {
@@ -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!!
}
}
}
}
@@ -37,6 +37,8 @@ object TaskbarIconSpecs {
val minimumTaskbarIconTouchSize = TaskbarIconSize(48)
val transientOrPinnedTaskbarIconPaddingSize = iconSize52dp
val transientTaskbarIconSizeByGridSize =
mapOf(
TransientTaskbarIconSizeKey(6, 5, false) to iconSize52dp,
@@ -31,7 +31,10 @@ class TaskbarSpecsEvaluator(
private var taskbarContainer: List<TaskbarContainer> = 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