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

Commit a435b037 authored by Andrey Yepin's avatar Andrey Yepin
Browse files

Adjustments to target grid a11y hierarchical presentation.

Present subgrous as a ListView instead of GridView which removes
unnecessary row count announcement.
Mark the app list divider as unimportant for accessibility to make it
not taking a11y focus.

Fix: 380211084
Test: Manual testing
Flag: android.service.chooser.announce_shortcuts_and_suggested_apps_legacy
Change-Id: Ie5e07dbab7894ffc35a2d9f12d30a0da50d412e8
parent a23ba269
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.TextView;

import com.android.internal.R;
@@ -131,7 +131,7 @@ public class ChooserGridLayoutManager extends GridLayoutManager {
        super.onInitializeAccessibilityNodeInfoForItem(recycler, state, host, info);
        if (announceShortcutsAndSuggestedAppsLegacy() && host instanceof ViewGroup) {
            if (host.getId() == R.id.shortcuts_container) {
                info.setClassName(GridView.class.getName());
                info.setClassName(ListView.class.getName());
                info.setContainerTitle(mShortcutGroupTitle);
                info.setCollectionInfo(createShortcutsA11yCollectionInfo((ViewGroup) host));
            } else if (host.getId() == R.id.chooser_row) {
@@ -140,7 +140,7 @@ public class ChooserGridLayoutManager extends GridLayoutManager {
                ChooserListAdapter gridAdapter = adapter instanceof ChooserGridAdapter
                        ? ((ChooserGridAdapter) adapter).getListAdapter()
                        : null;
                info.setClassName(GridView.class.getName());
                info.setClassName(ListView.class.getName());
                info.setCollectionInfo(createSuggestedAppsA11yCollectionInfo((ViewGroup) host));
                if (gridAdapter == null || gridAdapter.getAlphaTargetCount() > 0) {
                    info.setContainerTitle(mSuggestedAppsGroupTitle);
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
  -->

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
          android:contentDescription="@string/chooser_all_apps_button_label"
          android:importantForAccessibility="no"
          android:src="@drawable/chooser_row_layer_list"
          android:paddingTop="16dp"
          android:layout_width="match_parent"