From b5f774ccfbca19b43890023400a622e06b04850a Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Tue, 26 Apr 2022 13:06:08 -0400 Subject: [PATCH] Set title for privacy dialog a11y services will try to guess the title of a window if it's empty, usually assigning the title of the first element. As we don't want that, we explicitly give it a title. This is not visible in UI, and only available when using a11y descriptions. Test: manual Test: atest PrivacyDialogTest Fixes: 208954254 Change-Id: Ic2042028bed58e369456442e6f6de0965163bee2 --- packages/SystemUI/res/values/strings.xml | 3 +- .../android/systemui/privacy/PrivacyDialog.kt | 2 +- .../systemui/privacy/PrivacyDialogTest.kt | 28 +++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index f92d6238e8637..454d2f866e74b 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1994,7 +1994,8 @@ app for debugging. Will not be seen by users. [CHAR LIMIT=20] --> Dump SysUI Heap - + + In use Applications are using your %s. diff --git a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt index fe4cb7182168a..d4e1642081678 100644 --- a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt @@ -67,7 +67,7 @@ class PrivacyDialog( attributes.receiveInsetsIgnoringZOrder = true setGravity(Gravity.TOP or Gravity.CENTER_HORIZONTAL) } - + setTitle(R.string.ongoing_privacy_dialog_a11y_title) setContentView(R.layout.privacy_dialog) rootView = requireViewById(R.id.root) diff --git a/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt index c714fa0e5b27a..1d687b141d1e4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt @@ -35,6 +35,7 @@ import org.mockito.Mockito.never import org.mockito.Mockito.verify import org.mockito.MockitoAnnotations import android.content.Intent +import android.text.TextUtils @SmallTest @RunWith(AndroidTestingRunner::class) @@ -373,4 +374,31 @@ class PrivacyDialogTest : SysuiTestCase() { ) ) } + + @Test + fun testDialogHasTitle() { + // Dialog must have a non-empty title for a11y purposes. + + val list = listOf( + PrivacyDialog.PrivacyElement( + PrivacyType.TYPE_MICROPHONE, + TEST_PACKAGE_NAME, + TEST_USER_ID, + "App", + null, + null, + null, + 0L, + false, + false, + false, + TEST_PERM_GROUP, + null + ) + ) + dialog = PrivacyDialog(context, list, starter) + dialog.show() + + assertThat(TextUtils.isEmpty(dialog.window?.attributes?.title)).isFalse() + } } \ No newline at end of file