Merge "Add orientation logic to taskbar icon specs" into main
This commit is contained in:
+3
-1
@@ -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)
|
||||
|
||||
+11
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user