Merge "Add orientation logic to taskbar icon specs" into main

This commit is contained in:
Jagrut Desai
2024-06-17 20:28:33 +00:00
committed by Android (Google) Code Review
4 changed files with 25 additions and 10 deletions
@@ -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
}
@@ -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,
)
}
@@ -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)
@@ -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