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

Commit a46b426b authored by Bill Lin's avatar Bill Lin Committed by Android (Google) Code Review
Browse files

Merge "Apply dark light theme for enrollment activities" into tm-qpr-dev

parents 870f086d fd269d08
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Animatable2;
@@ -63,6 +64,7 @@ import androidx.appcompat.app.AlertDialog;

import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
import com.android.settings.biometrics.BiometricEnrollSidecar;
import com.android.settings.biometrics.BiometricUtils;
import com.android.settings.biometrics.BiometricsEnrollEnrolling;
@@ -212,6 +214,13 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        }
    }

    @Override
    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
        final int newResid = SetupWizardUtils.getTheme(this, getIntent());
        theme.applyStyle(R.style.SetupWizardPartnerResource, true);
        super.onApplyThemeResource(theme, newResid, first);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
+9 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.biometrics.fingerprint;

import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.content.res.Resources;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle;
@@ -31,6 +32,7 @@ import android.view.accessibility.AccessibilityManager;
import androidx.annotation.Nullable;

import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricEnrollBase;
import com.android.settings.biometrics.BiometricEnrollSidecar;
@@ -211,6 +213,13 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
        super.onBackPressed();
    }

    @Override
    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
        final int newResid = SetupWizardUtils.getTheme(this, getIntent());
        theme.applyStyle(R.style.SetupWizardPartnerResource, true);
        super.onApplyThemeResource(theme, newResid, first);
    }

    protected int getContentView() {
        if (mCanAssumeUdfps) {
            return R.layout.udfps_enroll_find_sensor_layout;
+1 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSenso

        @NonNull
        public AlertDialog.Builder onCreateDialogBuilder() {
            return new AlertDialog.Builder(getActivity(), R.style.GlifV2ThemeAlertDialog)
            return new AlertDialog.Builder(getActivity())
                    .setTitle(R.string.setup_fingerprint_enroll_skip_title)
                    .setPositiveButton(R.string.skip_anyway_button_label, this)
                    .setNegativeButton(R.string.go_back_button_label, this)
+25 −3
Original line number Diff line number Diff line
@@ -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 =
+23 −0
Original line number Diff line number Diff line
@@ -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);
Loading