Merge "Remove flicker during fingerprint enrollment" into tm-qpr-dev

This commit is contained in:
Diya Bera
2022-10-25 20:29:24 +00:00
committed by Android (Google) Code Review
3 changed files with 64 additions and 9 deletions

View File

@@ -18,6 +18,7 @@ package com.android.settings.biometrics.fingerprint;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UNKNOWN;
import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.KEY_STATE_PREVIOUS_ROTATION;
import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_NO_ANIMATION;
@@ -35,6 +36,8 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.mock;
import android.content.Context;
import android.content.res.ColorStateList;
@@ -52,6 +55,8 @@ import android.view.Display;
import android.view.Surface;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.widget.RingProgressBar;
@@ -59,7 +64,6 @@ import com.android.settings.widget.RingProgressBar;
import com.airbnb.lottie.LottieAnimationView;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -100,16 +104,39 @@ public class FingerprintEnrollEnrollingTest {
}
@Test
@Ignore
public void fingerprintEnrollHelp_shouldShowHelpText() {
EnrollmentCallback enrollmentCallback = verifyAndCaptureEnrollmentCallback();
initializeActivityFor(TYPE_UNKNOWN);
TestFingerprintEnrollSidecar sidecar = new TestFingerprintEnrollSidecar();
Resources resources = mock(Resources.class);
doReturn(resources).when(mContext).getResources();
when(resources.getIntArray(R.array.fingerprint_acquired_ignore_list))
.thenReturn(new int[]{3});
enrollmentCallback.onEnrollmentProgress(123);
enrollmentCallback.onEnrollmentHelp(
FingerprintManager.FINGERPRINT_ERROR_UNABLE_TO_PROCESS, "test enrollment help");
sidecar.setListener(mActivity);
sidecar.onAttach(mActivity);
sidecar.mEnrollmentCallback.onEnrollmentHelp(5,
"Help message should be displayed.");
TextView errorText = mActivity.findViewById(R.id.error_text);
assertThat(errorText.getText()).isEqualTo("test enrollment help");
assertThat(errorText.getText()).isEqualTo("Help message should be displayed.");
}
@Test
public void fingerprintEnrollHelp_shouldNotShowHelpText() {
initializeActivityFor(TYPE_UNKNOWN);
TestFingerprintEnrollSidecar sidecar = new TestFingerprintEnrollSidecar();
Resources resources = mock(Resources.class);
doReturn(resources).when(mContext).getResources();
when(resources.getIntArray(R.array.fingerprint_acquired_ignore_list))
.thenReturn(new int[]{3});
sidecar.setListener(mActivity);
sidecar.onAttach(mActivity);
sidecar.mEnrollmentCallback.onEnrollmentHelp(3,
"Help message should not be displayed.");
TextView errorText = mActivity.findViewById(R.id.error_text);
assertThat(errorText.getText()).isEqualTo("");
}
@Test
@@ -319,4 +346,12 @@ public class FingerprintEnrollEnrollingTest {
return callbackCaptor.getValue();
}
private class TestFingerprintEnrollSidecar extends FingerprintEnrollSidecar {
@Nullable
@Override
public Context getContext() {
return mContext;
}
}
}