From 0daa9708d0aca280709ed9c8a6d41efaf0dd797a Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Mon, 20 Apr 2020 15:03:50 -0400 Subject: [PATCH] Add content description for ScreenRecordTile Adds description with name and state for QQS. Test: manual Test: atest Fixes: 153518955 Change-Id: Idc599d891c769791ee4ed2aec9f30db758846897 --- .../com/android/systemui/qs/tiles/ScreenRecordTile.java | 6 ++++++ .../android/systemui/qs/tiles/ScreenRecordTileTest.java | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java index 9cee7e7ccba46..1a6a104387ac3 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java @@ -18,7 +18,9 @@ package com.android.systemui.qs.tiles; import android.content.Intent; import android.service.quicksettings.Tile; +import android.text.TextUtils; import android.util.Log; +import android.widget.Switch; import com.android.systemui.R; import com.android.systemui.plugins.qs.QSTile; @@ -88,6 +90,10 @@ public class ScreenRecordTile extends QSTileImpl state.icon = ResourceIcon.get(R.drawable.ic_qs_screenrecord); state.secondaryLabel = mContext.getString(R.string.quick_settings_screen_record_start); } + state.contentDescription = TextUtils.isEmpty(state.secondaryLabel) + ? state.label + : TextUtils.concat(state.label, ", ", state.secondaryLabel); + state.expandedAccessibilityClassName = Switch.class.getName(); } @Override diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java index e8e98b49c47fc..4ac5912d0690c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java @@ -133,4 +133,12 @@ public class ScreenRecordTileTest extends SysuiTestCase { verify(mController, times(1)).stopRecording(); } + + @Test + public void testContentDescriptionHasTileName() { + mTile.refreshState(); + mTestableLooper.processAllMessages(); + + assertTrue(mTile.getState().contentDescription.toString().contains(mTile.getState().label)); + } }