Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67b8de56 authored by Jagrut Desai's avatar Jagrut Desai
Browse files

Add orientation logic to taskbar icon specs

Test: Presubmit
Bug: 341146605
Flag: NONE Taskbar Customization
Change-Id: Ia86d61fd6ac38d03e45b23ea2a424a5b0b33c12b
parent ff83f1c4
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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
}
+8 −6
Original line number Diff line number Diff line
@@ -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,
        )
}
+3 −1
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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