Loading src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +8 −6 Original line number Original line Diff line number Diff line Loading @@ -1399,13 +1399,15 @@ public class FingerprintSettings extends SubSettings { super.onBindViewHolder(view); super.onBindViewHolder(view); mView = view.itemView; mView = view.itemView; mDeleteView = view.itemView.findViewById(R.id.delete_button); mDeleteView = view.itemView.findViewById(R.id.delete_button); mDeleteView.setOnClickListener(new View.OnClickListener() { if (mFingerprint != null) { @Override mDeleteView.setContentDescription( public void onClick(View v) { mDeleteView.getContentDescription() + " " + mFingerprint.getName().toString()); } mDeleteView.setOnClickListener(v -> { if (mOnDeleteClickListener != null) { if (mOnDeleteClickListener != null) { mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this); mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this); } } } }); }); } } } } Loading tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java +16 −0 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.Context; import android.hardware.fingerprint.Fingerprint; import android.view.LayoutInflater; import android.view.LayoutInflater; import android.view.View; import android.view.View; import android.widget.FrameLayout; import android.widget.FrameLayout; Loading Loading @@ -59,6 +60,21 @@ public class FingerprintPreferenceTest { assertThat(mPreference.getSecondTargetResId()).isEqualTo(R.layout.preference_widget_delete); 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 @Test public void bindAndClickDeleteButton_shouldInvokeOnDeleteListener() { public void bindAndClickDeleteButton_shouldInvokeOnDeleteListener() { final FrameLayout layout = new FrameLayout(mContext); final FrameLayout layout = new FrameLayout(mContext); Loading Loading
src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +8 −6 Original line number Original line Diff line number Diff line Loading @@ -1399,13 +1399,15 @@ public class FingerprintSettings extends SubSettings { super.onBindViewHolder(view); super.onBindViewHolder(view); mView = view.itemView; mView = view.itemView; mDeleteView = view.itemView.findViewById(R.id.delete_button); mDeleteView = view.itemView.findViewById(R.id.delete_button); mDeleteView.setOnClickListener(new View.OnClickListener() { if (mFingerprint != null) { @Override mDeleteView.setContentDescription( public void onClick(View v) { mDeleteView.getContentDescription() + " " + mFingerprint.getName().toString()); } mDeleteView.setOnClickListener(v -> { if (mOnDeleteClickListener != null) { if (mOnDeleteClickListener != null) { mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this); mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this); } } } }); }); } } } } Loading
tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java +16 −0 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.Context; import android.hardware.fingerprint.Fingerprint; import android.view.LayoutInflater; import android.view.LayoutInflater; import android.view.View; import android.view.View; import android.widget.FrameLayout; import android.widget.FrameLayout; Loading Loading @@ -59,6 +60,21 @@ public class FingerprintPreferenceTest { assertThat(mPreference.getSecondTargetResId()).isEqualTo(R.layout.preference_widget_delete); 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 @Test public void bindAndClickDeleteButton_shouldInvokeOnDeleteListener() { public void bindAndClickDeleteButton_shouldInvokeOnDeleteListener() { final FrameLayout layout = new FrameLayout(mContext); final FrameLayout layout = new FrameLayout(mContext); Loading