Merge "Updated ConfirmDeviceCredential strings" into qt-dev

This commit is contained in:
TreeHugger Robot
2019-04-17 21:13:41 +00:00
committed by Android (Google) Code Review
2 changed files with 46 additions and 14 deletions

View File

@@ -3964,8 +3964,12 @@
<string name="settings_safetylegal_activity_loading">Loading\u2026</string> <string name="settings_safetylegal_activity_loading">Loading\u2026</string>
<!-- ConfirmDeviceCredential settings--> <!-- ConfirmDeviceCredential settings-->
<!-- Button text shown on BiometricPrompt (system dialog that asks for biometric authentication) giving the user the option to use an alternate form of authentication (Pin/Pattern/Pass) [CHAR LIMIT=30] --> <!-- Button text shown on BiometricPrompt (system dialog that asks for biometric authentication) giving the user the option to use an alternate form of authentication (Pin) [CHAR LIMIT=30] -->
<string name="confirm_device_credential_use_alternate_method">Use alternate method</string> <string name="confirm_device_credential_pin">Use PIN</string>
<!-- Button text shown on BiometricPrompt (system dialog that asks for biometric authentication) giving the user the option to use an alternate form of authentication (Pattern) [CHAR LIMIT=30] -->
<string name="confirm_device_credential_pattern">Use pattern</string>
<!-- Button text shown on BiometricPrompt (system dialog that asks for biometric authentication) giving the user the option to use an alternate form of authentication (Pass) [CHAR LIMIT=30] -->
<string name="confirm_device_credential_password">Use password</string>
<!-- Lock Pattern settings --> <!-- Lock Pattern settings -->
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=40] --> <!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=40] -->

View File

@@ -17,6 +17,7 @@
package com.android.settings.password; package com.android.settings.password;
import android.app.Activity; import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.hardware.biometrics.BiometricConstants; import android.hardware.biometrics.BiometricConstants;
@@ -32,8 +33,10 @@ import android.util.Log;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.InstrumentedFragment; import com.android.settings.core.InstrumentedFragment;
import com.android.settings.overlay.FeatureFactory;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@@ -137,18 +140,43 @@ public class BiometricFragment extends InstrumentedFragment {
setRetainInstance(true); setRetainInstance(true);
mBundle = getArguments(); mBundle = getArguments();
mBiometricPrompt = new BiometricPrompt.Builder(getContext()) final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(getContext())
.setTitle(mBundle.getString(BiometricPrompt.KEY_TITLE)) .setTitle(mBundle.getString(BiometricPrompt.KEY_TITLE))
.setUseDefaultTitle() // use default title if title is null/empty .setUseDefaultTitle() // use default title if title is null/empty
.setFromConfirmDeviceCredential() .setFromConfirmDeviceCredential()
.setSubtitle(mBundle.getString(BiometricPrompt.KEY_SUBTITLE)) .setSubtitle(mBundle.getString(BiometricPrompt.KEY_SUBTITLE))
.setDescription(mBundle.getString(BiometricPrompt.KEY_DESCRIPTION)) .setDescription(mBundle.getString(BiometricPrompt.KEY_DESCRIPTION))
.setConfirmationRequired( .setConfirmationRequired(
mBundle.getBoolean(BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true)) mBundle.getBoolean(BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true));
.setNegativeButton(getResources().getString(
R.string.confirm_device_credential_use_alternate_method), final LockPatternUtils lockPatternUtils = FeatureFactory.getFactory(
mClientExecutor, mNegativeButtonListener) getContext())
.build(); .getSecurityFeatureProvider()
.getLockPatternUtils(getContext());
switch (lockPatternUtils.getKeyguardStoredPasswordQuality(mUserId)) {
case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
builder.setNegativeButton(getResources().getString(
R.string.confirm_device_credential_pattern),
mClientExecutor, mNegativeButtonListener);
break;
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
builder.setNegativeButton(getResources().getString(
R.string.confirm_device_credential_pin),
mClientExecutor, mNegativeButtonListener);
break;
case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
case DevicePolicyManager.PASSWORD_QUALITY_MANAGED:
builder.setNegativeButton(getResources().getString(
R.string.confirm_device_credential_password),
mClientExecutor, mNegativeButtonListener);
break;
}
mBiometricPrompt = builder.build();
mCancellationSignal = new CancellationSignal(); mCancellationSignal = new CancellationSignal();
// TODO: CC doesn't use crypto for now // TODO: CC doesn't use crypto for now