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

Commit 888d636c authored by Wu Ahan's avatar Wu Ahan Committed by Android (Google) Code Review
Browse files

Merge "Refactor SfpsEnrollmentFeatureImplTest" into main

parents df14dcd4 c7e3149a
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -33,11 +33,14 @@ import android.view.animation.AccelerateInterpolator;
import androidx.annotation.NonNull;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Nullable;


import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.R;


import java.util.function.Function;
import java.util.function.Function;


public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature {
public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature {
    @VisibleForTesting
    public static final int HELP_ANIMATOR_DURATION = 550;


    @Nullable
    @Nullable
    private FingerprintManager mFingerprintManager = null;
    private FingerprintManager mFingerprintManager = null;
@@ -96,12 +99,11 @@ public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature {
    @Override
    @Override
    public Animator getHelpAnimator(@NonNull View target) {
    public Animator getHelpAnimator(@NonNull View target) {
        final float translationX = 40;
        final float translationX = 40;
        final int duration = 550;
        final ObjectAnimator help = ObjectAnimator.ofFloat(target,
        final ObjectAnimator help = ObjectAnimator.ofFloat(target,
                "translationX" /* propertyName */,
                "translationX" /* propertyName */,
                0, translationX, -1 * translationX, translationX, 0f);
                0, translationX, -1 * translationX, translationX, 0f);
        help.setInterpolator(new AccelerateInterpolator());
        help.setInterpolator(new AccelerateInterpolator());
        help.setDuration(duration);
        help.setDuration(HELP_ANIMATOR_DURATION);
        help.setAutoCancel(false);
        help.setAutoCancel(false);
        return help;
        return help;
    }
    }
+42 −67
Original line number Original line Diff line number Diff line
@@ -44,16 +44,24 @@ import org.mockito.Mockito.`when` as whenever


@RunWith(AndroidJUnit4::class)
@RunWith(AndroidJUnit4::class)
class SfpsEnrollmentFeatureImplTest {
class SfpsEnrollmentFeatureImplTest {
    private val STAGE_0 = 0
    private val STAGE_1 = 1
    private val STAGE_2 = 2
    private val STAGE_3 = 3
    private val STAGE_4 = 4

    private val THRESHOLD_0 = 0f
    private val THRESHOLD_1 = .36f
    private val THRESHOLD_2 = .52f
    private val THRESHOLD_3 = .76f
    private val THRESHOLD_4 = 1f

    @get:Rule
    @get:Rule
    val mockito: MockitoRule = MockitoJUnit.rule()
    val mockito: MockitoRule = MockitoJUnit.rule()


    @Spy
    @Spy
    private val context: Context = ApplicationProvider.getApplicationContext()
    private val context: Context = ApplicationProvider.getApplicationContext()


    private val settingsPackageName = "com.android.settings"

    private lateinit var settingsContext: Context

    @Mock
    @Mock
    private lateinit var mockFingerprintManager: FingerprintManager
    private lateinit var mockFingerprintManager: FingerprintManager


@@ -61,31 +69,34 @@ class SfpsEnrollmentFeatureImplTest {


    @Before
    @Before
    fun setUp() {
    fun setUp() {
        assertThat(mSfpsEnrollmentFeatureImpl).isInstanceOf(SfpsEnrollmentFeatureImpl::class.java)
        whenever(context.getSystemService(FingerprintManager::class.java))
        whenever(context.getSystemService(FingerprintManager::class.java))
            .thenReturn(mockFingerprintManager)
            .thenReturn(mockFingerprintManager)
        doReturn(0f).`when`(mockFingerprintManager).getEnrollStageThreshold(0)
        doReturn(THRESHOLD_0).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_0)
        doReturn(0.36f).`when`(mockFingerprintManager).getEnrollStageThreshold(1)
        doReturn(THRESHOLD_1).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_1)
        doReturn(0.52f).`when`(mockFingerprintManager).getEnrollStageThreshold(2)
        doReturn(THRESHOLD_2).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_2)
        doReturn(0.76f).`when`(mockFingerprintManager).getEnrollStageThreshold(3)
        doReturn(THRESHOLD_3).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_3)
        doReturn(1f).`when`(mockFingerprintManager).getEnrollStageThreshold(4)
        doReturn(THRESHOLD_4).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_4)
        settingsContext = context.createPackageContext(settingsPackageName, 0)
    }
    }


    @Test
    @Test
    fun testGetEnrollStageThreshold() {
    fun testGetEnrollStageThreshold() {
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 0)).isEqualTo(0f)
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_0))
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 1)).isEqualTo(0.36f)
            .isEqualTo(THRESHOLD_0)
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 2)).isEqualTo(0.52f)
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_1))
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 3)).isEqualTo(0.76f)
            .isEqualTo(THRESHOLD_1)
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 4)).isEqualTo(1f)
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_2))
            .isEqualTo(THRESHOLD_2)
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_3))
            .isEqualTo(THRESHOLD_3)
        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_4))
            .isEqualTo(THRESHOLD_4)
    }
    }


    @Test
    @Test
    fun testGetHelpAnimator() {
    fun testGetHelpAnimator() {
        val mockView: View = mock(View::class.java)
        val mockView: View = mock(View::class.java)
        val animator: Animator = mSfpsEnrollmentFeatureImpl.getHelpAnimator(mockView)
        val animator: Animator = mSfpsEnrollmentFeatureImpl.getHelpAnimator(mockView)
        assertThat(animator.duration).isEqualTo(550)
        assertThat(animator.duration).isEqualTo(SfpsEnrollmentFeatureImpl.HELP_ANIMATOR_DURATION)
    }
    }


    @Test
    @Test
@@ -115,42 +126,27 @@ class SfpsEnrollmentFeatureImplTest {
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_NO_ANIMATION)
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_NO_ANIMATION)
        ).isEqualTo(
        ).isEqualTo(
            settingsContext.resources.getIdentifier(
            getSettingsResourcesId(type, "security_settings_fingerprint_enroll_repeat_title")
                "security_settings_fingerprint_enroll_repeat_title",
                type,
                settingsPackageName)
        )
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_CENTER)
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_CENTER)
        ).isEqualTo(
        ).isEqualTo(
            settingsContext.resources.getIdentifier(
            getSettingsResourcesId(type, "security_settings_sfps_enroll_finger_center_title")
                "security_settings_sfps_enroll_finger_center_title",
                type,
                settingsPackageName)
        )
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_FINGERTIP)
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_FINGERTIP)
        ).isEqualTo(
        ).isEqualTo(
            settingsContext.resources.getIdentifier(
            getSettingsResourcesId(type, "security_settings_sfps_enroll_fingertip_title")
                "security_settings_sfps_enroll_fingertip_title",
                type,
                settingsPackageName)
        )
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_LEFT_EDGE)
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_LEFT_EDGE)
        ).isEqualTo(
        ).isEqualTo(
            settingsContext.resources.getIdentifier(
            getSettingsResourcesId(type, "security_settings_sfps_enroll_left_edge_title")
                "security_settings_sfps_enroll_left_edge_title",
                type,
                settingsPackageName)
        )
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_RIGHT_EDGE)
            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_RIGHT_EDGE)
        ).isEqualTo(
        ).isEqualTo(
            settingsContext.resources.getIdentifier(
            getSettingsResourcesId(type, "security_settings_sfps_enroll_right_edge_title")
                "security_settings_sfps_enroll_right_edge_title",
                type,
                settingsPackageName)
        )
        )
    }
    }


@@ -159,43 +155,22 @@ class SfpsEnrollmentFeatureImplTest {
        val type = "raw"
        val type = "raw"
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_NO_ANIMATION)
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_NO_ANIMATION)
        ).isEqualTo(
        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_no_animation"))
            settingsContext.resources.getIdentifier(
                "sfps_lottie_no_animation",
                type,
                settingsPackageName)
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_CENTER)
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_CENTER)
        ).isEqualTo(
        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_pad_center"))
            settingsContext.resources.getIdentifier(
                "sfps_lottie_pad_center",
                type,
                settingsPackageName)
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_FINGERTIP)
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_FINGERTIP)
        ).isEqualTo(
        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_tip"))
            settingsContext.resources.getIdentifier(
                "sfps_lottie_tip",
                type,
                settingsPackageName)
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_LEFT_EDGE)
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_LEFT_EDGE)
        ).isEqualTo(
        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_left_edge"))
            settingsContext.resources.getIdentifier(
                "sfps_lottie_left_edge",
                type,
                settingsPackageName)
        )
        assertThat(
        assertThat(
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_RIGHT_EDGE)
            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_RIGHT_EDGE)
        ).isEqualTo(
        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_right_edge"))
            settingsContext.resources.getIdentifier(
    }
                "sfps_lottie_right_edge",

                type,
    private fun getSettingsResourcesId(type: String, name: String) : Int {
                settingsPackageName)
        return context.resources.getIdentifier(name, type, context.packageName)
        )
    }
    }
}
}
 No newline at end of file