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

Commit e62e7c83 authored by Peter Kalauskas's avatar Peter Kalauskas Committed by Android (Google) Code Review
Browse files

Merge "Apply new code formatting to navigationbar" into main

parents 2def3fbc 01ccb45f
Loading
Loading
Loading
Loading
+47 −44
Original line number Diff line number Diff line
@@ -35,44 +35,30 @@ import org.mockito.MockitoAnnotations
@SmallTest
@RunWith(AndroidJUnit4::class)
class TaskbarDelegateTest : SysuiTestCase() {
    val DISPLAY_ID = 0;
    val MODE_GESTURE = 0;
    val MODE_THREE_BUTTON = 1;
    val DISPLAY_ID = 0

    val MODE_GESTURE = 0

    val MODE_THREE_BUTTON = 1

    private lateinit var mTaskStackChangeListeners: TaskStackChangeListeners
    private lateinit var mTaskbarDelegate: TaskbarDelegate
    @Mock
    lateinit var mEdgeBackGestureHandler : EdgeBackGestureHandler
    @Mock
    lateinit var mLightBarControllerFactory : LightBarTransitionsController.Factory
    @Mock
    lateinit var mLightBarTransitionController: LightBarTransitionsController
    @Mock
    lateinit var mCommandQueue: CommandQueue
    @Mock
    lateinit var mOverviewProxyService: OverviewProxyService
    @Mock
    lateinit var mNavBarHelper: NavBarHelper
    @Mock
    lateinit var mNavigationModeController: NavigationModeController
    @Mock
    lateinit var mSysUiState: SysUiState
    @Mock
    lateinit var mDumpManager: DumpManager
    @Mock
    lateinit var mAutoHideController: AutoHideController
    @Mock
    lateinit var mLightBarController: LightBarController
    @Mock
    lateinit var mOptionalPip: Optional<Pip>
    @Mock
    lateinit var mBackAnimation: BackAnimation
    @Mock
    lateinit var mCurrentSysUiState: NavBarHelper.CurrentSysuiState
    @Mock
    lateinit var mStatusBarKeyguardViewManager: StatusBarKeyguardViewManager
    @Mock
    lateinit var mStatusBarStateController: StatusBarStateController
    @Mock lateinit var mEdgeBackGestureHandler: EdgeBackGestureHandler
    @Mock lateinit var mLightBarControllerFactory: LightBarTransitionsController.Factory
    @Mock lateinit var mLightBarTransitionController: LightBarTransitionsController
    @Mock lateinit var mCommandQueue: CommandQueue
    @Mock lateinit var mOverviewProxyService: OverviewProxyService
    @Mock lateinit var mNavBarHelper: NavBarHelper
    @Mock lateinit var mNavigationModeController: NavigationModeController
    @Mock lateinit var mSysUiState: SysUiState
    @Mock lateinit var mDumpManager: DumpManager
    @Mock lateinit var mAutoHideController: AutoHideController
    @Mock lateinit var mLightBarController: LightBarController
    @Mock lateinit var mOptionalPip: Optional<Pip>
    @Mock lateinit var mBackAnimation: BackAnimation
    @Mock lateinit var mCurrentSysUiState: NavBarHelper.CurrentSysuiState
    @Mock lateinit var mStatusBarKeyguardViewManager: StatusBarKeyguardViewManager
    @Mock lateinit var mStatusBarStateController: StatusBarStateController

    @Before
    fun setup() {
@@ -82,11 +68,26 @@ class TaskbarDelegateTest : SysuiTestCase() {
        `when`(mNavBarHelper.currentSysuiState).thenReturn(mCurrentSysUiState)
        `when`(mSysUiState.setFlag(anyLong(), anyBoolean())).thenReturn(mSysUiState)
        mTaskStackChangeListeners = TaskStackChangeListeners.getTestInstance()
        mTaskbarDelegate = TaskbarDelegate(context, mLightBarControllerFactory,
            mStatusBarKeyguardViewManager, mStatusBarStateController)
        mTaskbarDelegate.setDependencies(mCommandQueue, mOverviewProxyService, mNavBarHelper,
        mNavigationModeController, mSysUiState, mDumpManager, mAutoHideController,
                mLightBarController, mOptionalPip, mBackAnimation, mTaskStackChangeListeners)
        mTaskbarDelegate =
            TaskbarDelegate(
                context,
                mLightBarControllerFactory,
                mStatusBarKeyguardViewManager,
                mStatusBarStateController,
            )
        mTaskbarDelegate.setDependencies(
            mCommandQueue,
            mOverviewProxyService,
            mNavBarHelper,
            mNavigationModeController,
            mSysUiState,
            mDumpManager,
            mAutoHideController,
            mLightBarController,
            mOptionalPip,
            mBackAnimation,
            mTaskStackChangeListeners,
        )
    }

    @Test
@@ -108,10 +109,12 @@ class TaskbarDelegateTest : SysuiTestCase() {
    fun screenPinningEnabled_updatesSysuiState() {
        mTaskbarDelegate.init(DISPLAY_ID)
        mTaskStackChangeListeners.listenerImpl.onLockTaskModeChanged(
            ActivityManager.LOCK_TASK_MODE_PINNED)
        verify(mSysUiState, times(1)).setFlag(
            ActivityManager.LOCK_TASK_MODE_PINNED
        )
        verify(mSysUiState, times(1))
            .setFlag(
                ArgumentMatchers.eq(QuickStepContract.SYSUI_STATE_SCREEN_PINNING),
            ArgumentMatchers.eq(true)
                ArgumentMatchers.eq(true),
            )
    }
}
+122 −100
Original line number Diff line number Diff line
@@ -8,23 +8,22 @@ import com.android.systemui.shared.rotation.FloatingRotationButtonPositionCalcul
import com.android.systemui.shared.rotation.FloatingRotationButtonPositionCalculator.Position
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameter
import platform.test.runner.parameterized.Parameters
import org.junit.runner.RunWith

@RunWith(ParameterizedAndroidJunit4::class)
@SmallTest
internal class FloatingRotationButtonPositionCalculatorTest(
        private val testCase: TestCase,
) : SysuiTestCase() {
internal class FloatingRotationButtonPositionCalculatorTest(private val testCase: TestCase) :
    SysuiTestCase() {

    @Test
    fun calculatePosition() {
        val position = testCase.calculator.calculatePosition(
        val position =
            testCase.calculator.calculatePosition(
                testCase.rotation,
                testCase.taskbarVisible,
            testCase.taskbarStashed
                testCase.taskbarStashed,
            )
        assertThat(position).isEqualTo(testCase.expectedPosition)
    }
@@ -34,16 +33,17 @@ internal class FloatingRotationButtonPositionCalculatorTest(
        val rotation: Int,
        val taskbarVisible: Boolean,
        val taskbarStashed: Boolean,
        val expectedPosition: Position
        val expectedPosition: Position,
    ) {
        override fun toString(): String =
                buildString {
        override fun toString(): String = buildString {
            append("when calculator = ")
                    append(when (calculator) {
            append(
                when (calculator) {
                    posLeftCalculator -> "LEFT"
                    posRightCalculator -> "RIGHT"
                    else -> error("Unknown calculator: $calculator")
                    })
                }
            )
            append(", rotation = $rotation")
            append(", taskbarVisible = $taskbarVisible")
            append(", taskbarStashed = $taskbarStashed")
@@ -56,11 +56,19 @@ internal class FloatingRotationButtonPositionCalculatorTest(
        private const val MARGIN_TASKBAR_LEFT = 20
        private const val MARGIN_TASKBAR_BOTTOM = 30

        private val posLeftCalculator = FloatingRotationButtonPositionCalculator(
            MARGIN_DEFAULT, MARGIN_TASKBAR_LEFT, MARGIN_TASKBAR_BOTTOM, true
        )
        private val posRightCalculator = FloatingRotationButtonPositionCalculator(
            MARGIN_DEFAULT, MARGIN_TASKBAR_LEFT, MARGIN_TASKBAR_BOTTOM, false
        private val posLeftCalculator =
            FloatingRotationButtonPositionCalculator(
                MARGIN_DEFAULT,
                MARGIN_TASKBAR_LEFT,
                MARGIN_TASKBAR_BOTTOM,
                true,
            )
        private val posRightCalculator =
            FloatingRotationButtonPositionCalculator(
                MARGIN_DEFAULT,
                MARGIN_TASKBAR_LEFT,
                MARGIN_TASKBAR_BOTTOM,
                false,
            )

        @Parameters(name = "{0}")
@@ -73,77 +81,84 @@ internal class FloatingRotationButtonPositionCalculatorTest(
                    rotation = Surface.ROTATION_0,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.LEFT,
                            translationX = MARGIN_DEFAULT,
                        translationY = -MARGIN_DEFAULT
                    )
                            translationY = -MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posLeftCalculator,
                    rotation = Surface.ROTATION_90,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.RIGHT,
                            translationX = -MARGIN_DEFAULT,
                        translationY = -MARGIN_DEFAULT
                    )
                            translationY = -MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posLeftCalculator,
                    rotation = Surface.ROTATION_180,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.TOP or Gravity.RIGHT,
                            translationX = -MARGIN_DEFAULT,
                        translationY = MARGIN_DEFAULT
                    )
                            translationY = MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posLeftCalculator,
                    rotation = Surface.ROTATION_270,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.TOP or Gravity.LEFT,
                            translationX = MARGIN_DEFAULT,
                        translationY = MARGIN_DEFAULT
                    )
                            translationY = MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posLeftCalculator,
                    rotation = Surface.ROTATION_0,
                    taskbarVisible = true,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.LEFT,
                            translationX = MARGIN_TASKBAR_LEFT,
                        translationY = -MARGIN_TASKBAR_BOTTOM
                    )
                            translationY = -MARGIN_TASKBAR_BOTTOM,
                        ),
                ),
                TestCase(
                    calculator = posLeftCalculator,
                    rotation = Surface.ROTATION_0,
                    taskbarVisible = true,
                    taskbarStashed = true,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.LEFT,
                            translationX = MARGIN_DEFAULT,
                        translationY = -MARGIN_DEFAULT
                    )
                            translationY = -MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posLeftCalculator,
                    rotation = Surface.ROTATION_90,
                    taskbarVisible = true,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.RIGHT,
                            translationX = -MARGIN_TASKBAR_LEFT,
                        translationY = -MARGIN_TASKBAR_BOTTOM
                    )
                            translationY = -MARGIN_TASKBAR_BOTTOM,
                        ),
                ),

                // Position right
@@ -152,78 +167,85 @@ internal class FloatingRotationButtonPositionCalculatorTest(
                    rotation = Surface.ROTATION_0,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.RIGHT,
                            translationX = -MARGIN_DEFAULT,
                        translationY = -MARGIN_DEFAULT
                    )
                            translationY = -MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posRightCalculator,
                    rotation = Surface.ROTATION_90,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.TOP or Gravity.RIGHT,
                            translationX = -MARGIN_DEFAULT,
                        translationY = MARGIN_DEFAULT
                    )
                            translationY = MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posRightCalculator,
                    rotation = Surface.ROTATION_180,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.TOP or Gravity.LEFT,
                            translationX = MARGIN_DEFAULT,
                        translationY = MARGIN_DEFAULT
                    )
                            translationY = MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posRightCalculator,
                    rotation = Surface.ROTATION_270,
                    taskbarVisible = false,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.LEFT,
                            translationX = MARGIN_DEFAULT,
                        translationY = -MARGIN_DEFAULT
                    )
                            translationY = -MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posRightCalculator,
                    rotation = Surface.ROTATION_0,
                    taskbarVisible = true,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.RIGHT,
                            translationX = -MARGIN_TASKBAR_LEFT,
                        translationY = -MARGIN_TASKBAR_BOTTOM
                    )
                            translationY = -MARGIN_TASKBAR_BOTTOM,
                        ),
                ),
                TestCase(
                    calculator = posRightCalculator,
                    rotation = Surface.ROTATION_0,
                    taskbarVisible = true,
                    taskbarStashed = true,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.BOTTOM or Gravity.RIGHT,
                            translationX = -MARGIN_DEFAULT,
                        translationY = -MARGIN_DEFAULT
                    )
                            translationY = -MARGIN_DEFAULT,
                        ),
                ),
                TestCase(
                    calculator = posRightCalculator,
                    rotation = Surface.ROTATION_90,
                    taskbarVisible = true,
                    taskbarStashed = false,
                    expectedPosition = Position(
                    expectedPosition =
                        Position(
                            gravity = Gravity.TOP or Gravity.RIGHT,
                            translationX = -MARGIN_TASKBAR_LEFT,
                        translationY = MARGIN_TASKBAR_BOTTOM
                    )
                )
                            translationY = MARGIN_TASKBAR_BOTTOM,
                        ),
                ),
            )
    }
}
+11 −1
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ package com.android.systemui.navigationbar

import com.android.internal.statusbar.RegisterStatusBarResult
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.shared.statusbar.phone.BarTransitions
import com.android.systemui.navigationbar.views.NavigationBar
import com.android.systemui.navigationbar.views.NavigationBarView
import com.android.systemui.shared.statusbar.phone.BarTransitions
import javax.inject.Inject

/** A no-op version of [NavigationBarController] for variants like Arc and TV. */
@@ -30,18 +30,28 @@ class NavigationBarControllerEmptyImpl @Inject constructor() : NavigationBarCont
        includeDefaultDisplay: Boolean,
        result: RegisterStatusBarResult?,
    ) {}

    override fun removeNavigationBar(displayId: Int) {}

    override fun checkNavBarModes(displayId: Int) {}

    override fun finishBarAnimations(displayId: Int) {}

    override fun touchAutoDim(displayId: Int) {}

    override fun transitionTo(
        displayId: Int,
        @BarTransitions.TransitionMode barMode: Int,
        animate: Boolean,
    ) {}

    override fun disableAnimationsDuringHide(displayId: Int, delay: Long) {}

    override fun getDefaultNavigationBarView(): NavigationBarView? = null

    override fun getNavigationBarView(displayId: Int): NavigationBarView? = null

    override fun isOverviewEnabled(displayId: Int) = false

    override fun getDefaultNavigationBar(): NavigationBar? = null
}
+29 −29
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
    private var arrowLength =
        AnimatedFloat(
            name = "arrowLength",
            minimumVisibleChange = SpringAnimation.MIN_VISIBLE_CHANGE_PIXELS
            minimumVisibleChange = SpringAnimation.MIN_VISIBLE_CHANGE_PIXELS,
        )

    /**
@@ -56,7 +56,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
    var arrowHeight =
        AnimatedFloat(
            name = "arrowHeight",
            minimumVisibleChange = SpringAnimation.MIN_VISIBLE_CHANGE_ROTATION_DEGREES
            minimumVisibleChange = SpringAnimation.MIN_VISIBLE_CHANGE_ROTATION_DEGREES,
        )

    val backgroundWidth =
@@ -89,7 +89,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
        AnimatedFloat(
            name = "scale",
            minimumVisibleChange = SpringAnimation.MIN_VISIBLE_CHANGE_SCALE,
            minimumValue = 0f
            minimumValue = 0f,
        )

    val scalePivotX =
@@ -111,7 +111,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
            name = "arrowAlpha",
            minimumVisibleChange = SpringAnimation.MIN_VISIBLE_CHANGE_ALPHA,
            minimumValue = 0f,
            maximumValue = 1f
            maximumValue = 1f,
        )

    val backgroundAlpha =
@@ -119,7 +119,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
            name = "backgroundAlpha",
            minimumVisibleChange = SpringAnimation.MIN_VISIBLE_CHANGE_ALPHA,
            minimumValue = 0f,
            maximumValue = 1f
            maximumValue = 1f,
        )

    private val allAnimatedFloat =
@@ -133,7 +133,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
            scale,
            horizontalTranslation,
            arrowAlpha,
            backgroundAlpha
            backgroundAlpha,
        )

    /**
@@ -162,7 +162,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
                    com.android.internal.R.attr.materialColorOnSecondaryContainer
                } else {
                    com.android.internal.R.attr.materialColorOnSecondaryFixed
                }
                },
            )

        arrowBackgroundPaint.color =
@@ -172,7 +172,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
                    com.android.internal.R.attr.materialColorSecondaryContainer
                } else {
                    com.android.internal.R.attr.materialColorSecondaryFixedDim
                }
                },
            )
    }

@@ -242,7 +242,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
        fun stretchTo(
            stretchAmount: Float,
            startingVelocity: Float? = null,
            springForce: SpringForce? = null
            springForce: SpringForce? = null,
        ) {
            animation.apply {
                startingVelocity?.let {
@@ -303,7 +303,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :

    fun addAnimationEndListener(
        animatedFloat: AnimatedFloat,
        endListener: DelayedOnAnimationEndListener
        endListener: DelayedOnAnimationEndListener,
    ): Boolean {
        return if (animatedFloat.isRunning) {
            animatedFloat.addEndListener(endListener)
@@ -327,43 +327,43 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
        backgroundHeightStretchAmount: Float,
        edgeCornerStretchAmount: Float,
        farCornerStretchAmount: Float,
        fullyStretchedDimens: EdgePanelParams.BackIndicatorDimens
        fullyStretchedDimens: EdgePanelParams.BackIndicatorDimens,
    ) {
        horizontalTranslation.stretchBy(
            finalPosition = fullyStretchedDimens.horizontalTranslation,
            amount = horizontalTranslationStretchAmount
            amount = horizontalTranslationStretchAmount,
        )
        arrowLength.stretchBy(
            finalPosition = fullyStretchedDimens.arrowDimens.length,
            amount = arrowStretchAmount
            amount = arrowStretchAmount,
        )
        arrowHeight.stretchBy(
            finalPosition = fullyStretchedDimens.arrowDimens.height,
            amount = arrowStretchAmount
            amount = arrowStretchAmount,
        )
        arrowAlpha.stretchBy(
            finalPosition = fullyStretchedDimens.arrowDimens.alpha,
            amount = arrowAlphaStretchAmount
            amount = arrowAlphaStretchAmount,
        )
        backgroundAlpha.stretchBy(
            finalPosition = fullyStretchedDimens.backgroundDimens.alpha,
            amount = backgroundAlphaStretchAmount
            amount = backgroundAlphaStretchAmount,
        )
        backgroundWidth.stretchBy(
            finalPosition = fullyStretchedDimens.backgroundDimens.width,
            amount = backgroundWidthStretchAmount
            amount = backgroundWidthStretchAmount,
        )
        backgroundHeight.stretchBy(
            finalPosition = fullyStretchedDimens.backgroundDimens.height,
            amount = backgroundHeightStretchAmount
            amount = backgroundHeightStretchAmount,
        )
        backgroundEdgeCornerRadius.stretchBy(
            finalPosition = fullyStretchedDimens.backgroundDimens.edgeCornerRadius,
            amount = edgeCornerStretchAmount
            amount = edgeCornerStretchAmount,
        )
        backgroundFarCornerRadius.stretchBy(
            finalPosition = fullyStretchedDimens.backgroundDimens.farCornerRadius,
            amount = farCornerStretchAmount
            amount = farCornerStretchAmount,
        )
    }

@@ -381,7 +381,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
        arrowAlpha.stretchTo(
            stretchAmount = 0f,
            startingVelocity = startingVelocity,
            springForce = springForce
            springForce = springForce,
        )
    }

@@ -403,7 +403,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
    /** Updates resting arrow and background size not accounting for stretch */
    internal fun setRestingDimens(
        restingParams: EdgePanelParams.BackIndicatorDimens,
        animate: Boolean = true
        animate: Boolean = true,
    ) {
        horizontalTranslation.updateRestingPosition(restingParams.horizontalTranslation)
        scale.updateRestingPosition(restingParams.scale)
@@ -417,11 +417,11 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
        backgroundHeight.updateRestingPosition(restingParams.backgroundDimens.height, animate)
        backgroundEdgeCornerRadius.updateRestingPosition(
            restingParams.backgroundDimens.edgeCornerRadius,
            animate
            animate,
        )
        backgroundFarCornerRadius.updateRestingPosition(
            restingParams.backgroundDimens.farCornerRadius,
            animate
            animate,
        )
    }

@@ -483,11 +483,11 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
                    topLeft = edgeCorner,
                    bottomLeft = edgeCorner,
                    topRight = farCorner,
                    bottomRight = farCorner
                    bottomRight = farCorner,
                )
        canvas.drawPath(
            arrowBackground,
            arrowBackgroundPaint.apply { alpha = (255 * backgroundAlpha.pos).toInt() }
            arrowBackgroundPaint.apply { alpha = (255 * backgroundAlpha.pos).toInt() },
        )

        val dx = arrowLength.pos
@@ -498,7 +498,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
        val arrowOffset = (backgroundWidth - dx) / 2
        canvas.translate(
            /* dx= */ arrowOffset,
            /* dy= */ 0f /* pass 0 for the y position since the canvas was already translated */
            /* dy= */ 0f, /* pass 0 for the y position since the canvas was already translated */
        )

        val arrowPointsAwayFromEdge = !arrowsPointLeft.xor(isLeftPanel)
@@ -532,7 +532,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
        topLeft: Float = 0f,
        topRight: Float = 0f,
        bottomRight: Float = 0f,
        bottomLeft: Float = 0f
        bottomLeft: Float = 0f,
    ): Path =
        Path().apply {
            val corners =
@@ -544,7 +544,7 @@ class BackPanel(context: Context, private val latencyTracker: LatencyTracker) :
                    bottomRight,
                    bottomRight,
                    bottomLeft,
                    bottomLeft
                    bottomLeft,
                )
            addRoundRect(this@toPathWithRoundCorners, corners, Path.Direction.CW)
        }
+20 −20

File changed.

Preview size limit exceeded, changes collapsed.

Loading