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.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();

View File

@@ -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);
}
}