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

Commit f2d2de49 authored by Hao Dong's avatar Hao Dong
Browse files

Add fingerprint name to delete button content description.

Test: atest FingerprintPreferenceTest
Bug: 308671557

Change-Id: I5a7d402835124a50fd1268745eca1e28c865dc18
parent 6584f32b
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -1399,13 +1399,15 @@ public class FingerprintSettings extends SubSettings {
            super.onBindViewHolder(view);
            mView = view.itemView;
            mDeleteView = view.itemView.findViewById(R.id.delete_button);
            mDeleteView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
            if (mFingerprint != null) {
                mDeleteView.setContentDescription(
                        mDeleteView.getContentDescription()
                                + " " + mFingerprint.getName().toString());
            }
            mDeleteView.setOnClickListener(v -> {
                if (mOnDeleteClickListener != null) {
                    mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this);
                }
                }
            });
        }
    }
+16 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify;

import android.content.Context;
import android.hardware.fingerprint.Fingerprint;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
@@ -59,6 +60,21 @@ public class FingerprintPreferenceTest {
        assertThat(mPreference.getSecondTargetResId()).isEqualTo(R.layout.preference_widget_delete);
    }

    @Test
    public void deleteContentDescription() {
        final FrameLayout layout = new FrameLayout(mContext);
        LayoutInflater.from(mContext).inflate(mPreference.getSecondTargetResId(), layout, true);
        final String fingerprintName = "fingerprint test";
        mPreference.setFingerprint(new Fingerprint(fingerprintName, 0, 0));
        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(layout);
        mPreference.onBindViewHolder(holder);

        final View view = layout.findViewById(R.id.delete_button);
        String expectedContentDescription =
                mContext.getString(R.string.delete) + " " + fingerprintName;
        assertThat(view.getContentDescription().toString()).isEqualTo(expectedContentDescription);
    }

    @Test
    public void bindAndClickDeleteButton_shouldInvokeOnDeleteListener() {
        final FrameLayout layout = new FrameLayout(mContext);