diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java index ea5511decd6..d3a1fc19aee 100644 --- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java +++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java @@ -24,12 +24,18 @@ import static org.robolectric.RuntimeEnvironment.application; import android.app.Activity; import android.app.KeyguardManager; import android.content.Intent; +import android.content.pm.PackageManager; +import android.hardware.biometrics.SensorProperties; +import android.hardware.fingerprint.FingerprintSensorProperties; +import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.view.View; import android.widget.Button; import com.android.settings.R; import com.android.settings.testutils.FakeFeatureFactory; +import com.android.settings.testutils.shadow.ShadowFingerprintManager; import com.android.settings.testutils.shadow.ShadowLockPatternUtils; +import com.android.settings.testutils.shadow.ShadowStorageManager; import com.android.settings.testutils.shadow.ShadowUserManager; import com.google.android.setupcompat.PartnerCustomizationLayout; @@ -46,18 +52,39 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowKeyguardManager; -@RunWith(RobolectricTestRunner.class) -@Config(shadows = {ShadowLockPatternUtils.class, ShadowUserManager.class}) -public class FingerprintSuggestionActivityTest { +import java.util.ArrayList; +@RunWith(RobolectricTestRunner.class) +@Config(shadows = { + ShadowFingerprintManager.class, + ShadowLockPatternUtils.class, + ShadowStorageManager.class, + ShadowUserManager.class +}) +public class FingerprintSuggestionActivityTest { + private FingerprintSuggestionActivity mActivity; private ActivityController mController; @Before public void setUp() { + Shadows.shadowOf(application.getPackageManager()) + .setSystemFeature(PackageManager.FEATURE_FINGERPRINT, true); + + final FingerprintSensorPropertiesInternal prop = new FingerprintSensorPropertiesInternal( + 0 /* sensorId */, + SensorProperties.STRENGTH_STRONG, + 5 /* maxEnrollmentsPerUser */, + FingerprintSensorProperties.TYPE_REAR, + true /* resetLockoutRequiresHardwareAuthToken */); + final ArrayList props = new ArrayList<>(); + props.add(prop); + ShadowFingerprintManager.setSensorProperties(props); + FakeFeatureFactory.setupForTest(); final Intent intent = new Intent(); mController = Robolectric.buildActivity(FingerprintSuggestionActivity.class, intent); + mActivity = mController.get(); } @Test @@ -66,8 +93,7 @@ public class FingerprintSuggestionActivityTest { mController.create().resume(); - PartnerCustomizationLayout layout = - mController.get().findViewById(R.id.setup_wizard_layout); + PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout); final Button cancelButton = layout.getMixin(FooterBarMixin.class).getSecondaryButtonView(); assertThat(cancelButton.getText().toString()).isEqualTo("Cancel"); @@ -75,8 +101,8 @@ public class FingerprintSuggestionActivityTest { .isEqualTo(View.VISIBLE); cancelButton.performClick(); - ShadowActivity shadowActivity = Shadows.shadowOf(mController.get()); - assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue(); + ShadowActivity shadowActivity = Shadows.shadowOf(mActivity); + assertWithMessage("Is finishing").that(mActivity.isFinishing()).isTrue(); assertWithMessage("Result code").that(shadowActivity.getResultCode()) .isEqualTo(Activity.RESULT_CANCELED); }