From 67b8de56ce3129cf1737448b0697a7db8c0722e5 Mon Sep 17 00:00:00 2001 From: Jagrut Desai Date: Mon, 17 Jun 2024 10:25:35 -0700 Subject: [PATCH] Add orientation logic to taskbar icon specs Test: Presubmit Bug: 341146605 Flag: NONE Taskbar Customization Change-Id: Ia86d61fd6ac38d03e45b23ea2a424a5b0b33c12b --- .../customization/TaskbarFeatureEvaluator.kt | 4 +++- .../taskbar/customization/TaskbarIconSpecs.kt | 14 ++++++++------ .../taskbar/customization/TaskbarSpecsEvaluator.kt | 4 +++- .../customization/TaskbarSpecsEvaluatorTest.kt | 13 +++++++++++-- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt index 1ec075ffaa..668a87d6d9 100644 --- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt +++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarFeatureEvaluator.kt @@ -19,7 +19,6 @@ package com.android.launcher3.taskbar.customization import com.android.launcher3.config.FeatureFlags.enableTaskbarPinning import com.android.launcher3.taskbar.TaskbarActivityContext import com.android.launcher3.taskbar.TaskbarControllers -import com.android.launcher3.taskbar.TaskbarRecentAppsController import com.android.launcher3.util.DisplayController /** Evaluates all the features taskbar can have. */ @@ -41,4 +40,7 @@ class TaskbarFeatureEvaluator( val isTransient: Boolean get() = DisplayController.isTransientTaskbar(taskbarActivityContext) + + val isLandscape: Boolean + get() = taskbarActivityContext.deviceProfile.isLandscape } diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt index 4cd895de4d..67bbcce7f6 100644 --- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt +++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarIconSpecs.kt @@ -29,13 +29,15 @@ object TaskbarIconSpecs { val defaultPersistentIconSize = iconSize40dp val defaultTransientIconSize = iconSize44dp - // defined as row, columns val transientTaskbarIconSizeByGridSize = mapOf( - Pair(6, 5) to iconSize52dp, - Pair(4, 5) to iconSize48dp, - Pair(5, 4) to iconSize48dp, - Pair(4, 4) to iconSize48dp, - Pair(5, 6) to iconSize44dp, + TransientTaskbarIconSizeKey(6, 5, false) to iconSize52dp, + TransientTaskbarIconSizeKey(6, 5, true) to iconSize52dp, + TransientTaskbarIconSizeKey(4, 4, false) to iconSize48dp, + TransientTaskbarIconSizeKey(4, 4, true) to iconSize52dp, + TransientTaskbarIconSizeKey(4, 5, false) to iconSize48dp, + TransientTaskbarIconSizeKey(4, 5, true) to iconSize48dp, + TransientTaskbarIconSizeKey(5, 5, false) to iconSize44dp, + TransientTaskbarIconSizeKey(5, 5, true) to iconSize44dp, ) } diff --git a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt index 02e5947b32..0b7be40826 100644 --- a/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt +++ b/quickstep/src/com/android/launcher3/taskbar/customization/TaskbarSpecsEvaluator.kt @@ -22,7 +22,7 @@ class TaskbarSpecsEvaluator(private val taskbarFeatureEvaluator: TaskbarFeatureE fun getIconSizeByGrid(row: Int, column: Int): TaskbarIconSize { return if (taskbarFeatureEvaluator.isTransient) { TaskbarIconSpecs.transientTaskbarIconSizeByGridSize.getOrDefault( - Pair(row, column), + TransientTaskbarIconSizeKey(row, column, taskbarFeatureEvaluator.isLandscape), TaskbarIconSpecs.defaultTransientIconSize, ) } else { @@ -58,3 +58,5 @@ class TaskbarSpecsEvaluator(private val taskbarFeatureEvaluator: TaskbarFeatureE } data class TaskbarIconSize(val size: Int) + +data class TransientTaskbarIconSizeKey(val row: Int, val column: Int, val isLandscape: Boolean) diff --git a/quickstep/tests/src/com/android/quickstep/taskbar/customization/TaskbarSpecsEvaluatorTest.kt b/quickstep/tests/src/com/android/quickstep/taskbar/customization/TaskbarSpecsEvaluatorTest.kt index b637e7d4cf..0bf68ebe93 100644 --- a/quickstep/tests/src/com/android/quickstep/taskbar/customization/TaskbarSpecsEvaluatorTest.kt +++ b/quickstep/tests/src/com/android/quickstep/taskbar/customization/TaskbarSpecsEvaluatorTest.kt @@ -35,12 +35,21 @@ class TaskbarSpecsEvaluatorTest { private val taskbarSpecsEvaluator = spy(TaskbarSpecsEvaluator(taskbarFeatureEvaluator)) @Test - fun testGetIconSizeByGrid_whenTaskbarIsTransient_withValidRowAndColumn() { + fun testGetIconSizeByGrid_whenTaskbarIsTransient_withValidRowAndColumnInLandscape() { doReturn(true).whenever(taskbarFeatureEvaluator).isTransient - assertThat(taskbarSpecsEvaluator.getIconSizeByGrid(6, 5)) + doReturn(true).whenever(taskbarFeatureEvaluator).isLandscape + assertThat(taskbarSpecsEvaluator.getIconSizeByGrid(4, 4)) .isEqualTo(TaskbarIconSpecs.iconSize52dp) } + @Test + fun testGetIconSizeByGrid_whenTaskbarIsTransient_withValidRowAndColumnInPortrait() { + doReturn(true).whenever(taskbarFeatureEvaluator).isTransient + doReturn(false).whenever(taskbarFeatureEvaluator).isLandscape + assertThat(taskbarSpecsEvaluator.getIconSizeByGrid(4, 4)) + .isEqualTo(TaskbarIconSpecs.iconSize48dp) + } + @Test fun testGetIconSizeByGrid_whenTaskbarIsTransient_withInvalidRowAndColumn() { doReturn(true).whenever(taskbarFeatureEvaluator).isTransient