Add tile added/removed announcements

Test: manual
Fixes: 179228936
Change-Id: I264167674c07cd4de102fd2b71b5a8be2859cb5a
This commit is contained in:
Fabian Kozynski
2021-02-04 10:36:18 -05:00
parent 2d37557fe1
commit bd6c445db0
2 changed files with 20 additions and 6 deletions

View File

@@ -2256,6 +2256,12 @@
<!-- Accessibility description indicating the currently selected tile's position. Only used for tiles that are currently in use [CHAR LIMIT=NONE] -->
<string name="accessibility_qs_edit_position">Position <xliff:g id="position" example="5">%1$d</xliff:g></string>
<!-- Accessibility announcement after a tile has been added [CHAR LIMIT=NONE] -->
<string name="accessibility_qs_edit_tile_added">Tile added</string>
<!-- Accessibility announcement after a tile has been added [CHAR LIMIT=NONE] -->
<string name="accessibility_qs_edit_tile_removed">Tile removed</string>
<!-- Accessibility label for window when QS editing is happening [CHAR LIMIT=NONE] -->
<string name="accessibility_desc_quick_settings_edit">Quick settings editor.</string>

View File

@@ -441,15 +441,17 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> 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<Holder> 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() {