From bd6c445db083a7d581b886eb9f8edfc82c16cb78 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Thu, 4 Feb 2021 10:36:18 -0500 Subject: [PATCH] Add tile added/removed announcements Test: manual Fixes: 179228936 Change-Id: I264167674c07cd4de102fd2b71b5a8be2859cb5a --- packages/SystemUI/res/values/strings.xml | 6 ++++++ .../systemui/qs/customize/TileAdapter.java | 20 +++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 81b7a7b4aaffb..a1eb126ee0f4a 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -2256,6 +2256,12 @@ Position %1$d + + Tile added + + + Tile removed + Quick settings editor. diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java index 507048c621860..21464fd37c6cb 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java @@ -441,15 +441,17 @@ public class TileAdapter extends RecyclerView.Adapter implements TileSta return position > mEditIndex; } - private void addFromPosition(int position) { - if (!canAddFromPosition(position)) return; + private boolean addFromPosition(int position) { + if (!canAddFromPosition(position)) return false; move(position, mEditIndex); + return true; } - private void removeFromPosition(int position) { - if (!canRemoveFromPosition(position)) return; + private boolean removeFromPosition(int position) { + if (!canRemoveFromPosition(position)) return false; TileInfo info = mTiles.get(position); move(position, info.isSystem ? mEditIndex : mTileDividerIndex); + return true; } public SpanSizeLookup getSizeLookup() { @@ -578,11 +580,17 @@ public class TileAdapter extends RecyclerView.Adapter implements TileSta } private void add() { - addFromPosition(getLayoutPosition()); + if (addFromPosition(getLayoutPosition())) { + itemView.announceForAccessibility( + itemView.getContext().getText(R.string.accessibility_qs_edit_tile_added)); + } } private void remove() { - removeFromPosition(getLayoutPosition()); + if (removeFromPosition(getLayoutPosition())) { + itemView.announceForAccessibility( + itemView.getContext().getText(R.string.accessibility_qs_edit_tile_removed)); + } } boolean isCurrentTile() {