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

Commit 9588c900 authored by Cn Chen's avatar Cn Chen Committed by Android (Google) Code Review
Browse files

Merge "Update fingerprint suggestion enable state when back pressed" into qt-dev

parents 51d16f23 706fbc17
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import androidx.annotation.VisibleForTesting;
@@ -38,6 +39,7 @@ import com.google.android.setupcompat.template.FooterButton;
 */
public class FingerprintEnrollFinish extends BiometricEnrollBase {

    private static final String TAG = "FingerprintEnrollFinish";
    @VisibleForTesting
    static final int REQUEST_ADD_ANOTHER = 1;
    @VisibleForTesting
@@ -69,6 +71,13 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
        );
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();

        updateFingerprintSuggestionEnableState();
    }

    @Override
    protected void onResume() {
        super.onResume();
@@ -93,12 +102,12 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {

    @Override
    protected void onNextButtonClick(View view) {
        setFingerprintSuggestionEnabled();
        updateFingerprintSuggestionEnableState();
        setResult(RESULT_FINISHED);
        finish();
    }

    private void setFingerprintSuggestionEnabled() {
    private void updateFingerprintSuggestionEnableState() {
        final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
        if (fpm != null) {
            int enrolled = fpm.getEnrolledFingerprints(mUserId).size();
@@ -114,6 +123,7 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
                    FINGERPRINT_SUGGESTION_ACTIVITY);
            getPackageManager().setComponentEnabledSetting(
                    componentName, flag, PackageManager.DONT_KILL_APP);
            Log.d(TAG, FINGERPRINT_SUGGESTION_ACTIVITY + " enabled state = " + (enrolled == 1));
        }
    }

@@ -123,7 +133,7 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        setFingerprintSuggestionEnabled();
        updateFingerprintSuggestionEnableState();
        if (requestCode == REQUEST_ADD_ANOTHER && resultCode != RESULT_CANCELED) {
            setResult(resultCode, data);
            finish();
+20 −0
Original line number Diff line number Diff line
@@ -142,4 +142,24 @@ public class SetupFingerprintEnrollFinishTest {
        assertThat(application.getPackageManager().getComponentEnabledSetting(
                mComponentName)).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
    }

    @Test
    public void onBackPressed_fingerprintCountIsNotOne_fingerprintSuggestionActivityDisabled() {
        Shadows.shadowOf((FingerprintManager) mFingerprintManager).setDefaultFingerprints(2);

        mActivity.onBackPressed();

        assertThat(application.getPackageManager().getComponentEnabledSetting(
                mComponentName)).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
    }

    @Test
    public void onBackPressed_fingerprintCountIsOne_fngerprintSuggestionActivityEnabled() {
        Shadows.shadowOf((FingerprintManager) mFingerprintManager).setDefaultFingerprints(1);

        mActivity.onBackPressed();

        assertThat(application.getPackageManager().getComponentEnabledSetting(
                mComponentName)).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
    }
}
 No newline at end of file