Merge "Apply dark light theme for enrollment activities" into tm-qpr-dev am: a46b426bcf am: 8a8fe4fabd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19989471 Change-Id: Id20b934f044607e7b4f93b2d5cb5ce37322fd65d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -17,6 +17,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 com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.KEY_STATE_PREVIOUS_ROTATION;
|
||||
import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_NO_ANIMATION;
|
||||
@@ -37,6 +38,7 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.Resources;
|
||||
import android.hardware.biometrics.ComponentInfoInternal;
|
||||
import android.hardware.biometrics.SensorProperties;
|
||||
import android.hardware.fingerprint.FingerprintManager;
|
||||
@@ -84,6 +86,8 @@ public class FingerprintEnrollEnrollingTest {
|
||||
|
||||
@Mock private Display mMockDisplay;
|
||||
|
||||
@Mock private Resources.Theme mTheme;
|
||||
|
||||
private final int[] mSfpsStageThresholds = new int[]{0, 9, 13, 19, 25};
|
||||
|
||||
private FingerprintEnrollEnrolling mActivity;
|
||||
@@ -110,7 +114,7 @@ public class FingerprintEnrollEnrollingTest {
|
||||
|
||||
@Test
|
||||
public void fingerprintUdfpsEnrollSuccessProgress_shouldNotVibrate() {
|
||||
initializeActivityFor(FingerprintSensorProperties.TYPE_UDFPS_OPTICAL);
|
||||
initializeActivityFor(TYPE_UDFPS_OPTICAL);
|
||||
|
||||
mActivity.onEnrollmentProgressChange(1, 1);
|
||||
|
||||
@@ -128,7 +132,7 @@ public class FingerprintEnrollEnrollingTest {
|
||||
|
||||
@Test
|
||||
public void fingerprintUdfpsOverlayEnrollment_gainFocus_shouldNotCancel() {
|
||||
initializeActivityFor(FingerprintSensorProperties.TYPE_UDFPS_OPTICAL);
|
||||
initializeActivityFor(TYPE_UDFPS_OPTICAL);
|
||||
|
||||
mActivity.onEnrollmentProgressChange(1, 1);
|
||||
mActivity.onWindowFocusChanged(true);
|
||||
@@ -138,7 +142,7 @@ public class FingerprintEnrollEnrollingTest {
|
||||
|
||||
@Test
|
||||
public void fingerprintUdfpsOverlayEnrollment_loseFocus_shouldCancel() {
|
||||
initializeActivityFor(FingerprintSensorProperties.TYPE_UDFPS_OPTICAL);
|
||||
initializeActivityFor(TYPE_UDFPS_OPTICAL);
|
||||
|
||||
mActivity.onEnrollmentProgressChange(1, 1);
|
||||
mActivity.onWindowFocusChanged(false);
|
||||
@@ -232,6 +236,24 @@ public class FingerprintEnrollEnrollingTest {
|
||||
verify(mActivity, never()).onCancelEnrollment(anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fingerprintUdfpsEnroll_activityApplyDarkLightStyle() {
|
||||
initializeActivityFor(TYPE_UDFPS_OPTICAL);
|
||||
|
||||
mActivity.onApplyThemeResource(mTheme, R.style.GlifTheme, true /* first */);
|
||||
|
||||
verify(mTheme).applyStyle(R.style.SetupWizardPartnerResource, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fingerprintSfpsEnroll_activityApplyDarkLightStyle() {
|
||||
initializeActivityFor(TYPE_POWER_BUTTON);
|
||||
|
||||
mActivity.onApplyThemeResource(mTheme, R.style.GlifTheme, true /* first */);
|
||||
|
||||
verify(mTheme).applyStyle(R.style.SetupWizardPartnerResource, true);
|
||||
}
|
||||
|
||||
private void initializeActivityFor(int sensorType) {
|
||||
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
|
||||
final FingerprintSensorPropertiesInternal prop =
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.biometrics.fingerprint;
|
||||
|
||||
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
|
||||
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_REAR;
|
||||
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
|
||||
|
||||
@@ -38,6 +39,7 @@ import android.annotation.NonNull;
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.hardware.biometrics.ComponentInfoInternal;
|
||||
import android.hardware.biometrics.SensorProperties;
|
||||
import android.hardware.fingerprint.FingerprintManager;
|
||||
@@ -87,6 +89,9 @@ public class FingerprintEnrollFindSensorTest {
|
||||
@Mock
|
||||
private FingerprintManager mFingerprintManager;
|
||||
|
||||
@Mock
|
||||
private Resources.Theme mTheme;
|
||||
|
||||
private ActivityController<FingerprintEnrollFindSensor> mActivityController;
|
||||
|
||||
private FingerprintEnrollFindSensor mActivity;
|
||||
@@ -125,6 +130,14 @@ public class FingerprintEnrollFindSensorTest {
|
||||
mActivityController.setup();
|
||||
}
|
||||
|
||||
private void setupActivity_onSfpsDevice() {
|
||||
final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
|
||||
props.add(newFingerprintSensorPropertiesInternal(TYPE_POWER_BUTTON));
|
||||
doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
|
||||
|
||||
mActivityController.setup();
|
||||
}
|
||||
|
||||
private FingerprintSensorPropertiesInternal newFingerprintSensorPropertiesInternal(
|
||||
@FingerprintSensorProperties.SensorType int sensorType) {
|
||||
return new FingerprintSensorPropertiesInternal(
|
||||
@@ -542,6 +555,16 @@ public class FingerprintEnrollFindSensorTest {
|
||||
gotEnrollingResult_recreateActivityAndVerifyResultThenForward(RESULT_TIMEOUT, bundle);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fingerprintEnrollFindSensor_activityApplyDarkLightStyle() {
|
||||
setupActivity_onSfpsDevice();
|
||||
verifySidecar_onRearOrSfpsDevice();
|
||||
|
||||
mActivity.onApplyThemeResource(mActivity.getTheme(), R.style.GlifTheme, true /* first */);
|
||||
|
||||
verify(mTheme).applyStyle(R.style.SetupWizardPartnerResource, true);
|
||||
}
|
||||
|
||||
private void triggerEnrollProgressAndError_onRearDevice() {
|
||||
EnrollmentCallback enrollmentCallback = verifyAndCaptureEnrollmentCallback();
|
||||
enrollmentCallback.onEnrollmentProgress(123);
|
||||
|
||||
@@ -18,9 +18,11 @@ package com.android.settings.biometrics.fingerprint;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.robolectric.RuntimeEnvironment.application;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources.Theme;
|
||||
import android.hardware.fingerprint.FingerprintManager;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
@@ -48,14 +50,23 @@ import org.robolectric.annotation.Config;
|
||||
@Config(shadows = {ShadowUtils.class, ShadowAlertDialogCompat.class})
|
||||
public class SetupFingerprintEnrollFindSensorTest {
|
||||
|
||||
@Mock
|
||||
private FingerprintManager mFingerprintManager;
|
||||
@Mock private FingerprintManager mFingerprintManager;
|
||||
|
||||
@Mock private Theme mTheme;
|
||||
|
||||
private SetupFingerprintEnrollFindSensor mActivity;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
ShadowUtils.setFingerprintManager(mFingerprintManager);
|
||||
FakeFeatureFactory.setupForTest();
|
||||
|
||||
final Intent intent = new Intent()
|
||||
// Set the challenge token so the confirm screen will not be shown
|
||||
.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
|
||||
mActivity = Robolectric.buildActivity(SetupFingerprintEnrollFindSensor.class,
|
||||
intent).setup().get();
|
||||
}
|
||||
|
||||
@After
|
||||
@@ -74,23 +85,14 @@ public class SetupFingerprintEnrollFindSensorTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fingerprintEnroll_showsAlert_setSudTheme() {
|
||||
final AlertDialog alertDialog = setupAlertDialog();
|
||||
public void fingerprintEnroll_activityApplyDarkLightStyle() {
|
||||
mActivity.onApplyThemeResource(mTheme, R.style.GlifTheme, true /* first */);
|
||||
|
||||
assertThat(alertDialog.getContext().getThemeResId()).isEqualTo(
|
||||
R.style.GlifV2ThemeAlertDialog);
|
||||
verify(mTheme).applyStyle(R.style.SetupWizardPartnerResource, true);
|
||||
}
|
||||
|
||||
private AlertDialog setupAlertDialog() {
|
||||
final Intent intent = new Intent()
|
||||
// Set the challenge token so the confirm screen will not be shown
|
||||
.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
|
||||
|
||||
final SetupFingerprintEnrollFindSensor activity =
|
||||
Robolectric.buildActivity(SetupFingerprintEnrollFindSensor.class,
|
||||
intent).setup().get();
|
||||
|
||||
PartnerCustomizationLayout layout = activity.findViewById(R.id.setup_wizard_layout);
|
||||
PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
|
||||
layout.getMixin(FooterBarMixin.class).getSecondaryButtonView().performClick();
|
||||
|
||||
final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
|
||||
|
||||
Reference in New Issue
Block a user