Merge "Fix StatusBar chip location not updated after screen rotation" into udc-qpr-dev

This commit is contained in:
Johannes Gallmann
2023-07-24 11:49:16 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 1 deletions

View File

@@ -265,6 +265,11 @@ class SystemEventChipAnimationController @Inject constructor(
// not animating then [prepareChipAnimation] will take care of it for us
currentAnimatedView?.let {
updateChipBounds(it, newContentArea)
// Since updateCurrentAnimatedView can only be called during an animation, we
// have to create a dummy animator here to apply the new chip bounds
val animator = ValueAnimator.ofInt(0, 1).setDuration(0)
animator.addUpdateListener { updateCurrentAnimatedView() }
animator.start()
}
}
})

View File

@@ -18,6 +18,8 @@ package com.android.systemui.statusbar.events
import android.content.Context
import android.graphics.Rect
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import android.util.Pair
import android.view.Gravity
import android.view.View
@@ -37,11 +39,14 @@ import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
@SmallTest
@RunWith(AndroidTestingRunner::class)
@TestableLooper.RunWithLooper
class SystemEventChipAnimationControllerTest : SysuiTestCase() {
private lateinit var controller: SystemEventChipAnimationController
@@ -159,7 +164,7 @@ class SystemEventChipAnimationControllerTest : SysuiTestCase() {
assertThat(chipRect).isEqualTo(Rect(890, 25, 990, 75))
}
class TestView(context: Context) : View(context), BackgroundAnimatableView {
private class TestView(context: Context) : View(context), BackgroundAnimatableView {
override val view: View
get() = this