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

This commit is contained in:
Cn Chen
2019-04-19 01:37:13 +00:00
committed by Android (Google) Code Review
2 changed files with 33 additions and 3 deletions

View File

@@ -22,6 +22,7 @@ import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.View; import android.view.View;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
@@ -38,6 +39,7 @@ import com.google.android.setupcompat.template.FooterButton;
*/ */
public class FingerprintEnrollFinish extends BiometricEnrollBase { public class FingerprintEnrollFinish extends BiometricEnrollBase {
private static final String TAG = "FingerprintEnrollFinish";
@VisibleForTesting @VisibleForTesting
static final int REQUEST_ADD_ANOTHER = 1; static final int REQUEST_ADD_ANOTHER = 1;
@VisibleForTesting @VisibleForTesting
@@ -69,6 +71,13 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
); );
} }
@Override
public void onBackPressed() {
super.onBackPressed();
updateFingerprintSuggestionEnableState();
}
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
@@ -93,12 +102,12 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
@Override @Override
protected void onNextButtonClick(View view) { protected void onNextButtonClick(View view) {
setFingerprintSuggestionEnabled(); updateFingerprintSuggestionEnableState();
setResult(RESULT_FINISHED); setResult(RESULT_FINISHED);
finish(); finish();
} }
private void setFingerprintSuggestionEnabled() { private void updateFingerprintSuggestionEnableState() {
final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this); final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
if (fpm != null) { if (fpm != null) {
int enrolled = fpm.getEnrolledFingerprints(mUserId).size(); int enrolled = fpm.getEnrolledFingerprints(mUserId).size();
@@ -114,6 +123,7 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
FINGERPRINT_SUGGESTION_ACTIVITY); FINGERPRINT_SUGGESTION_ACTIVITY);
getPackageManager().setComponentEnabledSetting( getPackageManager().setComponentEnabledSetting(
componentName, flag, PackageManager.DONT_KILL_APP); 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 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
setFingerprintSuggestionEnabled(); updateFingerprintSuggestionEnableState();
if (requestCode == REQUEST_ADD_ANOTHER && resultCode != RESULT_CANCELED) { if (requestCode == REQUEST_ADD_ANOTHER && resultCode != RESULT_CANCELED) {
setResult(resultCode, data); setResult(resultCode, data);
finish(); finish();

View File

@@ -142,4 +142,24 @@ public class SetupFingerprintEnrollFinishTest {
assertThat(application.getPackageManager().getComponentEnabledSetting( assertThat(application.getPackageManager().getComponentEnabledSetting(
mComponentName)).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED); 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);
}
} }