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

Commit 16aac7a6 authored by Kevin Chyn's avatar Kevin Chyn
Browse files

Add a11y descriptions for FingerprintDialog

Fixes: 72413407

Test: manual test with accessibility
Change-Id: I610bd652dc55352e151fa6602ad57a1725a70507
parent e8f3e1bf
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@
            android:layout_height="@dimen/fingerprint_dialog_fp_icon_size"
            android:layout_gravity="center_horizontal"
            android:scaleType="centerInside"
            android:contentDescription="@string/accessibility_fingerprint_dialog_fingerprint_icon"
            android:src="@drawable/fingerprint_icon"/>

        <TextView
@@ -112,6 +113,8 @@
            android:textSize="12sp"
            android:visibility="invisible"
            android:gravity="center_horizontal"
            android:accessibilityLiveRegion="polite"
            android:contentDescription="@string/accessibility_fingerprint_dialog_help_area"
            android:textColor="@color/fingerprint_error_message_color"/>

        <LinearLayout android:id="@+id/buttonPanel"
+7 −0
Original line number Diff line number Diff line
@@ -259,6 +259,13 @@
    <!-- Button name for "Cancel". [CHAR LIMIT=NONE] -->
    <string name="cancel">Cancel</string>

    <!-- Content description of the fingerprint icon when the system-provided fingerprint dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_fingerprint_dialog_fingerprint_icon">Fingerprint icon</string>
    <!-- Content description of the application icon when the system-provided fingerprint dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_fingerprint_dialog_app_icon">Application icon</string>
    <!-- Content description for the error/help message are when the system-provided fingerprint dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_fingerprint_dialog_help_area">Help message area</string>

    <!-- Content description of the compatibility zoom button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_compatibility_zoom_button">Compatibility zoom button.</string>

+8 −3
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ public class FingerprintDialogView extends LinearLayout {
        subtitle.setText(mBundle.getCharSequence(FingerprintDialog.KEY_SUBTITLE));
        description.setText(mBundle.getCharSequence(FingerprintDialog.KEY_DESCRIPTION));
        negative.setText(mBundle.getCharSequence(FingerprintDialog.KEY_NEGATIVE_TEXT));
        image.setImageDrawable(getAppIcon());
        setAppIcon(image);

        final CharSequence positiveText =
                mBundle.getCharSequence(FingerprintDialog.KEY_POSITIVE_TEXT);
@@ -190,6 +190,7 @@ public class FingerprintDialogView extends LinearLayout {
    private void showMessage(String message) {
        mHandler.removeMessages(FingerprintDialogImpl.MSG_CLEAR_MESSAGE);
        mErrorText.setText(message);
        mErrorText.setContentDescription(message);
        mErrorText.setVisibility(View.VISIBLE);
        mHandler.sendMessageDelayed(mHandler.obtainMessage(FingerprintDialogImpl.MSG_CLEAR_MESSAGE),
                FingerprintDialog.HIDE_DIALOG_DELAY);
@@ -205,12 +206,16 @@ public class FingerprintDialogView extends LinearLayout {
                false /* userCanceled */), FingerprintDialog.HIDE_DIALOG_DELAY);
    }

    private Drawable getAppIcon() {
    private void setAppIcon(ImageView image) {
        final ActivityManager.RunningTaskInfo taskInfo = mActivityManagerWrapper.getRunningTask();
        final ComponentName cn = taskInfo.topActivity;
        final int userId = mActivityManagerWrapper.getCurrentUserId();
        final ActivityInfo activityInfo = mPackageManageWrapper.getActivityInfo(cn, userId);
        return mActivityManagerWrapper.getBadgedActivityIcon(activityInfo, userId);
        image.setImageDrawable(mActivityManagerWrapper.getBadgedActivityIcon(activityInfo, userId));
        image.setContentDescription(
                getResources().getString(R.string.accessibility_fingerprint_dialog_app_icon)
                        + " "
                        + mActivityManagerWrapper.getBadgedActivityLabel(activityInfo, userId));
    }

    public WindowManager.LayoutParams getLayoutParams() {