Merge "[SB Refactor] Override #getDrawingRect for the new views for a11y." into tm-qpr-dev am: d1ca02152f am: 9844283b8a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21108008

Change-Id: Ie6d84b3d1bd8dbf41005e1f90394e91bac17c5ec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Caitlin Shkuratov
2023-01-31 17:10:26 +00:00
committed by Automerger Merge Worker
2 changed files with 28 additions and 0 deletions

View File

@@ -77,6 +77,17 @@ open class ModernStatusBarView(context: Context, attrs: AttributeSet?) :
return binding.getShouldIconBeVisible()
}
/** See [StatusBarIconView.getDrawingRect]. */
override fun getDrawingRect(outRect: Rect) {
super.getDrawingRect(outRect)
val translationX = translationX.toInt()
val translationY = translationY.toInt()
outRect.left += translationX
outRect.right += translationX
outRect.top += translationY
outRect.bottom += translationY
}
/**
* Initializes this view.
*

View File

@@ -16,6 +16,7 @@
package com.android.systemui.statusbar.pipeline.shared.ui.view
import android.graphics.Rect
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper.RunWithLooper
import androidx.test.filters.SmallTest
@@ -118,6 +119,22 @@ class ModernStatusBarViewTest : SysuiTestCase() {
assertThat(view.isIconVisible).isEqualTo(false)
}
@Test
fun getDrawingRect_takesTranslationIntoAccount() {
val view = createAndInitView()
view.translationX = 50f
view.translationY = 60f
val drawingRect = Rect()
view.getDrawingRect(drawingRect)
assertThat(drawingRect.left).isEqualTo(view.left + 50)
assertThat(drawingRect.right).isEqualTo(view.right + 50)
assertThat(drawingRect.top).isEqualTo(view.top + 60)
assertThat(drawingRect.bottom).isEqualTo(view.bottom + 60)
}
private fun createAndInitView(): ModernStatusBarView {
val view = ModernStatusBarView(context, null)
binding = TestBinding()