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

Commit d29a3ba0 authored by Evan Chen's avatar Evan Chen Committed by Automerger Merge Worker
Browse files

Merge "TalkBack announce Expand/Collapse permission" into udc-dev am: 5a2d1e8f

parents 0a30f83b 5a2d1e8f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@
            android:textSize="14sp"
            android:layout_marginTop="2dp"
            style="@style/TextAppearance"
            android:focusable="true"
            android:textColor="?android:attr/textColorSecondary"/>

    </LinearLayout>
+4 −10
Original line number Diff line number Diff line
@@ -113,17 +113,11 @@
    <!-- Back button for the helper consent dialog [CHAR LIMIT=30] -->
    <string name="consent_back">Back</string>

    <!-- Action when permission list view is expanded CHAR LIMIT=30] -->
    <string name="permission_expanded">Expanded</string>
    <!-- Expand permission in the list CHAR LIMIT=30] -->
    <string name="permission_expand">Expand <xliff:g id="permission_type" example="Notification">%1$s</xliff:g></string>

    <!-- Expand action permission list CHAR LIMIT=30] -->
    <string name="permission_expand">Expand</string>

    <!-- Action when permission list view is collapsed CHAR LIMIT=30] -->
    <string name="permission_collapsed">Collapsed</string>

    <!-- Collapse action permission list CHAR LIMIT=30] -->
    <string name="permission_collapse">Collapse</string>
    <!-- Collapse permission int the list CHAR LIMIT=30] -->
    <string name="permission_collapse">Collapse <xliff:g id="permission_type" example="Notification">%1$s</xliff:g></string>

    <!-- ================== System data transfer ==================== -->
    <!-- Title of the permission sync confirmation dialog. [CHAR LIMIT=NONE] -->
+14 −10
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ class PermissionListAdapter extends RecyclerView.Adapter<PermissionListAdapter.V
        }

        setAccessibility(view, viewType,
                AccessibilityNodeInfo.ACTION_CLICK, R.string.permission_expand);
                AccessibilityNodeInfo.ACTION_CLICK, R.string.permission_expand, 0);

        // Add expand buttons if the permissions are more than PERMISSION_SIZE in this list also
        // make the summary invisible by default.
@@ -137,18 +137,16 @@ class PermissionListAdapter extends RecyclerView.Adapter<PermissionListAdapter.V
                    viewHolder.mExpandButton.setImageResource(R.drawable.btn_expand_less);
                    viewHolder.mPermissionSummary.setVisibility(View.VISIBLE);
                    viewHolder.mExpandButton.setTag(R.drawable.btn_expand_less);
                    view.setContentDescription(mContext.getString(R.string.permission_expanded));
                    setAccessibility(view, viewType,
                            AccessibilityNodeInfo.ACTION_CLICK, R.string.permission_collapse);
                    viewHolder.mPermissionSummary.setFocusable(true);
                            AccessibilityNodeInfo.ACTION_CLICK,
                            R.string.permission_collapse, R.string.permission_expand);
                } else {
                    viewHolder.mExpandButton.setImageResource(R.drawable.btn_expand_more);
                    viewHolder.mPermissionSummary.setVisibility(View.GONE);
                    viewHolder.mExpandButton.setTag(R.drawable.btn_expand_more);
                    view.setContentDescription(mContext.getString(R.string.permission_collapsed));
                    setAccessibility(view, viewType,
                            AccessibilityNodeInfo.ACTION_CLICK, R.string.permission_expanded);
                    viewHolder.mPermissionSummary.setFocusable(false);
                            AccessibilityNodeInfo.ACTION_CLICK,
                            R.string.permission_expand, R.string.permission_collapse);
                }
            });
        } else {
@@ -200,14 +198,20 @@ class PermissionListAdapter extends RecyclerView.Adapter<PermissionListAdapter.V
        }
    }

    private void setAccessibility(View view, int viewType, int action, int resourceId) {
        final String actionString = mContext.getString(resourceId);
    private void setAccessibility(View view, int viewType, int action, int statusResourceId,
            int actionResourceId) {
        final String permission = mContext.getString(sTitleMap.get(viewType));

        if (actionResourceId != 0) {
            view.announceForAccessibility(
                    getHtmlFromResources(mContext, actionResourceId, permission));
        }

        view.setAccessibilityDelegate(new View.AccessibilityDelegate() {
            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
                super.onInitializeAccessibilityNodeInfo(host, info);
                info.addAction(new AccessibilityNodeInfo.AccessibilityAction(action,
                        actionString + permission));
                        getHtmlFromResources(mContext, statusResourceId, permission)));
            }
        });
    }