Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f3763dc authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Talkback for edit QS, action as part of context.

Accessibility context for moving or adding tiles has context label as
"Add tile X to position Y" or "Move tile X to position Y" while moving
cursor. No confirmation announcement after accepting.

Removed unused strings.

Change-Id: I6cf0fbe110f9231e592ee51820edd24541f98c5c
Fixes: 79154713
Test: Manual
parent 0253c3f4
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -1929,23 +1929,17 @@
    <!-- Accessibility description of a QS tile while editing positions [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_add_tile_label"><xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g>. Double tap to add.</string>

    <!-- Accessibility description of a place to drop a tile while editing positions [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_position_label">Position <xliff:g id="position" example="2">%1$d</xliff:g>. Double tap to select.</string>

    <!-- Accessibility description of option to move QS tile [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_move_tile">Move <xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g></string>

    <!-- Accessibility description of option to remove QS tile [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_remove_tile">Remove <xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g></string>

    <!-- Accessibility action when QS tile is added [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_tile_added"><xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g> is added to position <xliff:g id="position" example="5">%2$d</xliff:g></string>

    <!-- Accessibility action when QS tile is removed [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_tile_removed"><xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g> is removed</string>
    <!-- Accessibility action when QS tile is to be added [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_tile_add">Add <xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g> to position <xliff:g id="position" example="5">%2$d</xliff:g></string>

    <!-- Accessibility action when QS tile is moved [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_tile_moved"><xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g> moved to position <xliff:g id="position" example="5">%2$d</xliff:g></string>
    <!-- Accessibility action when QS tile is to be moved [CHAR LIMIT=NONE] -->
    <string name="accessibility_qs_edit_tile_move">Move <xliff:g id="tile_name" example="Wi-Fi">%1$s</xliff:g> to position <xliff:g id="position" example="5">%2$d</xliff:g></string>

    <!-- Accessibility label for window when QS editing is happening [CHAR LIMIT=NONE] -->
    <string name="accessibility_desc_quick_settings_edit">Quick settings editor.</string>
+10 −7
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
    private Holder mCurrentDrag;
    private int mAccessibilityAction = ACTION_NONE;
    private int mAccessibilityFromIndex;
    private CharSequence mAccessibilityFromLabel;
    private QSTileHost mHost;

    public TileAdapter(Context context) {
@@ -241,7 +242,8 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
            holder.mTileView.setVisibility(View.VISIBLE);
            holder.mTileView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
            holder.mTileView.setContentDescription(mContext.getString(
                    R.string.accessibility_qs_edit_position_label, position + 1));
                    R.string.accessibility_qs_edit_tile_add, mAccessibilityFromLabel,
                    position + 1));
            holder.mTileView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
@@ -270,9 +272,12 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
        if (position > mEditIndex) {
            info.state.contentDescription = mContext.getString(
                    R.string.accessibility_qs_edit_add_tile_label, info.state.label);
        } else if (mAccessibilityAction != ACTION_NONE) {
        } else if (mAccessibilityAction == ACTION_ADD) {
            info.state.contentDescription = mContext.getString(
                    R.string.accessibility_qs_edit_position_label, position + 1);
                    R.string.accessibility_qs_edit_tile_add, mAccessibilityFromLabel, position + 1);
        } else if (mAccessibilityAction == ACTION_MOVE) {
            info.state.contentDescription = mContext.getString(
                    R.string.accessibility_qs_edit_tile_move, mAccessibilityFromLabel, position + 1);
        } else {
            info.state.contentDescription = mContext.getString(
                    R.string.accessibility_qs_edit_tile_label, position + 1, info.state.label);
@@ -351,6 +356,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta

    private void startAccessibleAdd(int position) {
        mAccessibilityFromIndex = position;
        mAccessibilityFromLabel = mTiles.get(position).state.label;
        mAccessibilityAction = ACTION_ADD;
        // Add placeholder for last slot.
        mTiles.add(mEditIndex++, null);
@@ -360,6 +366,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta

    private void startAccessibleMove(int position) {
        mAccessibilityFromIndex = position;
        mAccessibilityFromLabel = mTiles.get(position).state.label;
        mAccessibilityAction = ACTION_MOVE;
        notifyDataSetChanged();
    }
@@ -385,15 +392,11 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
                    strip(mTiles.get(to)));
            MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_QS_EDIT_ADD,
                    to);
            v.announceForAccessibility(mContext.getString(R.string.accessibility_qs_edit_tile_added,
                    fromLabel, (to + 1)));
        } else {
            MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_QS_EDIT_MOVE_SPEC,
                    strip(mTiles.get(to)));
            MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_QS_EDIT_MOVE,
                    to);
            v.announceForAccessibility(mContext.getString(R.string.accessibility_qs_edit_tile_moved,
                    fromLabel, (to + 1)));
        }
        saveSpecs(mHost);
        return true;