Merge "Pass back number of fingerprint enrolled from settings to SUW"
This commit is contained in:
@@ -21,6 +21,7 @@ import android.app.KeyguardManager;
|
|||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.storage.StorageManager;
|
import android.os.storage.StorageManager;
|
||||||
@@ -30,6 +31,7 @@ import android.widget.TextView;
|
|||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.SetupWizardUtils;
|
import com.android.settings.SetupWizardUtils;
|
||||||
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment;
|
import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
import com.android.settings.password.SetupChooseLockGeneric;
|
import com.android.settings.password.SetupChooseLockGeneric;
|
||||||
import com.android.settings.password.SetupSkipDialog;
|
import com.android.settings.password.SetupSkipDialog;
|
||||||
@@ -37,6 +39,11 @@ import com.android.settings.password.SetupSkipDialog;
|
|||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
|
|
||||||
public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction {
|
public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction {
|
||||||
|
/**
|
||||||
|
* Returns the number of fingerprint enrolled.
|
||||||
|
*/
|
||||||
|
private static final String EXTRA_FINGERPRINT_ENROLLED_COUNT = "fingerprint_enrolled_count";
|
||||||
|
|
||||||
private static final String KEY_LOCK_SCREEN_PRESENT = "wasLockScreenPresent";
|
private static final String KEY_LOCK_SCREEN_PRESENT = "wasLockScreenPresent";
|
||||||
private boolean mAlreadyHadLockScreenSetup = false;
|
private boolean mAlreadyHadLockScreenSetup = false;
|
||||||
|
|
||||||
@@ -99,10 +106,17 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
|
|||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
// if lock was already present, do not return intent data since it must have been
|
// if lock was already present, do not return intent data since it must have been
|
||||||
// reported in previous attempts
|
// reported in previous attempts
|
||||||
if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST && isKeyguardSecure()
|
if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST && isKeyguardSecure()) {
|
||||||
&& !mAlreadyHadLockScreenSetup) {
|
if(!mAlreadyHadLockScreenSetup) {
|
||||||
data = getMetricIntent(data);
|
data = getMetricIntent(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Report fingerprint count if user adding a new fingerprint
|
||||||
|
if(resultCode == RESULT_FINISHED) {
|
||||||
|
data = setFingerprintCount(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,6 +128,19 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
|
|||||||
data.putExtra(SetupChooseLockGeneric.
|
data.putExtra(SetupChooseLockGeneric.
|
||||||
SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY,
|
SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY,
|
||||||
lockPatternUtils.getKeyguardStoredPasswordQuality(UserHandle.myUserId()));
|
lockPatternUtils.getKeyguardStoredPasswordQuality(UserHandle.myUserId()));
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Intent setFingerprintCount(Intent data) {
|
||||||
|
if (data == null) {
|
||||||
|
data = new Intent();
|
||||||
|
}
|
||||||
|
final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
|
||||||
|
if (fpm != null) {
|
||||||
|
int enrolled = fpm.getEnrolledFingerprints(mUserId).size();
|
||||||
|
data.putExtra(EXTRA_FINGERPRINT_ENROLLED_COUNT, enrolled);
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -172,8 +172,7 @@ public class SetupFingerprintEnrollIntroductionTest {
|
|||||||
layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
|
layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
|
||||||
skipButton.performClick();
|
skipButton.performClick();
|
||||||
|
|
||||||
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
|
assertThat(Shadows.shadowOf(activity).getResultIntent()).isNull();
|
||||||
assertThat(shadowActivity.getResultIntent()).isNull();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -182,7 +181,10 @@ public class SetupFingerprintEnrollIntroductionTest {
|
|||||||
SetupFingerprintEnrollIntroduction activity = mController.create().resume().get();
|
SetupFingerprintEnrollIntroduction activity = mController.create().resume().get();
|
||||||
activity.onActivityResult(BiometricEnrollIntroduction.BIOMETRIC_FIND_SENSOR_REQUEST,
|
activity.onActivityResult(BiometricEnrollIntroduction.BIOMETRIC_FIND_SENSOR_REQUEST,
|
||||||
BiometricEnrollBase.RESULT_FINISHED, null);
|
BiometricEnrollBase.RESULT_FINISHED, null);
|
||||||
assertThat(Shadows.shadowOf(activity).getResultIntent()).isNull();
|
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
|
||||||
|
assertThat(shadowActivity.getResultIntent()).isNotNull();
|
||||||
|
assertThat(shadowActivity.getResultIntent().hasExtra(
|
||||||
|
SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY)).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -201,7 +203,8 @@ public class SetupFingerprintEnrollIntroductionTest {
|
|||||||
SetupFingerprintEnrollIntroduction activity = mController.create().resume().get();
|
SetupFingerprintEnrollIntroduction activity = mController.create().resume().get();
|
||||||
activity.onActivityResult(BiometricEnrollIntroduction.BIOMETRIC_FIND_SENSOR_REQUEST,
|
activity.onActivityResult(BiometricEnrollIntroduction.BIOMETRIC_FIND_SENSOR_REQUEST,
|
||||||
BiometricEnrollBase.RESULT_FINISHED, null);
|
BiometricEnrollBase.RESULT_FINISHED, null);
|
||||||
assertThat(Shadows.shadowOf(activity).getResultIntent()).isNull();
|
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
|
||||||
|
assertThat(shadowActivity.getResultIntent()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user