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

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

Change-Id: I072c5bf889aad05014c148cec1238393f9857d41
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Caitlin Shkuratov
2023-01-31 16:21:08 +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()