diff --git a/res/values/strings.xml b/res/values/strings.xml index 1773314c07b..9f73edd2f3c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4024,14 +4024,6 @@ Loading\u2026 - - - Use PIN - - Use pattern - - Use password - Set screen lock diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java index 66b665b337e..9898719726f 100644 --- a/src/com/android/settings/password/BiometricFragment.java +++ b/src/com/android/settings/password/BiometricFragment.java @@ -24,7 +24,6 @@ import android.hardware.biometrics.BiometricConstants; import android.hardware.biometrics.BiometricPrompt; import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback; import android.hardware.biometrics.BiometricPrompt.AuthenticationResult; -import android.hardware.biometrics.IBiometricConfirmDeviceCredentialCallback; import android.os.Bundle; import android.os.CancellationSignal; import android.os.Handler; @@ -91,20 +90,6 @@ public class BiometricFragment extends InstrumentedFragment { } }; - // TODO(b/123378871): Remove when moved. - private final IBiometricConfirmDeviceCredentialCallback mCancelCallback - = new IBiometricConfirmDeviceCredentialCallback.Stub() { - @Override - public void cancel() { - final Activity activity = getActivity(); - if (activity != null) { - activity.finish(); - } else { - Log.e(TAG, "Activity null!"); - } - } - }; - /** * @param bundle Bundle passed from {@link BiometricPrompt.Builder#buildIntent()} * @return @@ -150,46 +135,19 @@ public class BiometricFragment extends InstrumentedFragment { final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(getContext()) .setTitle(mBundle.getString(BiometricPrompt.KEY_TITLE)) .setUseDefaultTitle() // use default title if title is null/empty - .setFromConfirmDeviceCredential() + .setDeviceCredentialAllowed(true) .setSubtitle(mBundle.getString(BiometricPrompt.KEY_SUBTITLE)) .setDescription(mBundle.getString(BiometricPrompt.KEY_DESCRIPTION)) .setConfirmationRequired( mBundle.getBoolean(BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true)); - final LockPatternUtils lockPatternUtils = FeatureFactory.getFactory( - getContext()) - .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(); // TODO: CC doesn't use crypto for now mAuthenticating = true; mBiometricPrompt.authenticateUser(mCancellationSignal, mClientExecutor, - mAuthenticationCallback, mUserId, mCancelCallback); + mAuthenticationCallback, mUserId); } @Override diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java index 8476f924291..1da2a636053 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java @@ -90,8 +90,6 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { private TrustManager mTrustManager; private ChooseLockSettingsHelper mChooseLockSettingsHelper; private Handler mHandler = new Handler(Looper.getMainLooper()); - private boolean mIsFallback; // BiometricPrompt fallback - private boolean mCCLaunched; private String mTitle; private String mDetails; @@ -108,10 +106,6 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { if (!mGoingToBackground) { if (errorCode == BiometricPrompt.BIOMETRIC_ERROR_USER_CANCELED || errorCode == BiometricPrompt.BIOMETRIC_ERROR_CANCELED) { - if (mIsFallback) { - mBiometricManager.onConfirmDeviceCredentialError( - errorCode, getStringForError(errorCode)); - } finish(); } else { // All other errors go to some version of CC @@ -128,10 +122,6 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { ConfirmDeviceCredentialUtils.checkForPendingIntent( ConfirmDeviceCredentialActivity.this); - if (mIsFallback) { - mBiometricManager.onConfirmDeviceCredentialSuccess(); - } - setResult(Activity.RESULT_OK); finish(); } @@ -183,17 +173,11 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this); final LockPatternUtils lockPatternUtils = new LockPatternUtils(this); - Bundle bpBundle = - intent.getBundleExtra(KeyguardManager.EXTRA_BIOMETRIC_PROMPT_BUNDLE); - if (bpBundle != null) { - mIsFallback = true; - mTitle = bpBundle.getString(BiometricPrompt.KEY_TITLE); - mDetails = bpBundle.getString(BiometricPrompt.KEY_SUBTITLE); - } else { - bpBundle = new Bundle(); - bpBundle.putString(BiometricPrompt.KEY_TITLE, mTitle); - bpBundle.putString(BiometricPrompt.KEY_DESCRIPTION, mDetails); - } + final Bundle bpBundle = new Bundle(); + mTitle = bpBundle.getString(BiometricPrompt.KEY_TITLE); + mDetails = bpBundle.getString(BiometricPrompt.KEY_SUBTITLE); + bpBundle.putString(BiometricPrompt.KEY_TITLE, mTitle); + bpBundle.putString(BiometricPrompt.KEY_DESCRIPTION, mDetails); boolean launchedBiometric = false; boolean launchedCDC = false; @@ -257,12 +241,6 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { } } - if (mIsFallback && !mCCLaunched) { - mBiometricManager.onConfirmDeviceCredentialError( - BiometricConstants.BIOMETRIC_ERROR_CANCELED, - getString(com.android.internal.R.string.biometric_error_user_canceled)); - } - finish(); } else { mGoingToBackground = false; @@ -314,7 +292,6 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { * Shows ConfirmDeviceCredentials for normal apps. */ private void showConfirmCredentials() { - mCCLaunched = true; boolean launched = false; // The only difference between CREDENTIAL_MANAGED and CREDENTIAL_NORMAL is that for // CREDENTIAL_MANAGED, we launch the real confirm credential activity with an explicit diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java index 5407776f3b1..a30d2e1b086 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java @@ -17,15 +17,12 @@ package com.android.settings.password; import android.app.KeyguardManager; -import android.hardware.biometrics.BiometricConstants; import android.hardware.biometrics.BiometricManager; -import android.hardware.biometrics.IBiometricConfirmDeviceCredentialCallback; import android.os.Bundle; import android.os.UserManager; import android.util.Log; import android.view.MenuItem; import android.view.WindowManager; -import android.widget.LinearLayout; import androidx.fragment.app.Fragment; @@ -50,16 +47,6 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi private boolean mFirstTimeVisible = true; private boolean mIsKeyguardLocked = false; private ConfirmCredentialTheme mConfirmCredentialTheme; - private BiometricManager mBiometricManager; - - // TODO(b/123378871): Remove when moved. - private final IBiometricConfirmDeviceCredentialCallback mCancelCallback - = new IBiometricConfirmDeviceCredentialCallback.Stub() { - @Override - public void cancel() { - finish(); - } - }; private boolean isInternalActivity() { return (this instanceof ConfirmLockPassword.InternalActivity) @@ -90,9 +77,6 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi } super.onCreate(savedState); - mBiometricManager = getSystemService(BiometricManager.class); - mBiometricManager.registerCancellationCallback(mCancelCallback); - if (mConfirmCredentialTheme == ConfirmCredentialTheme.NORMAL) { // Prevent the content parent from consuming the window insets because GlifLayout uses // it to show the status bar background. @@ -167,15 +151,10 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi @Override public void onStop() { super.onStop(); - // TODO(b/123378871): Remove when moved. - if (!isChangingConfigurations()) { - mBiometricManager.onConfirmDeviceCredentialError( - BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED, - getString(com.android.internal.R.string.biometric_error_user_canceled)); - if (getIntent().getBooleanExtra( - ChooseLockSettingsHelper.EXTRA_KEY_FOREGROUND_ONLY, false)) { - finish(); - } + final boolean foregroundOnly = getIntent().getBooleanExtra( + ChooseLockSettingsHelper.EXTRA_KEY_FOREGROUND_ONLY, false); + if (!isChangingConfigurations() && foregroundOnly) { + finish(); } } diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java index 12b272426ed..5c891cd962f 100644 --- a/src/com/android/settings/password/ConfirmLockPassword.java +++ b/src/com/android/settings/password/ConfirmLockPassword.java @@ -446,7 +446,6 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { ConfirmDeviceCredentialUtils.reportSuccessfulAttempt(mLockPatternUtils, mUserManager, mEffectiveUserId); } - mBiometricManager.onConfirmDeviceCredentialSuccess(); startDisappearAnimation(intent); ConfirmDeviceCredentialUtils.checkForPendingIntent(getActivity()); } else { diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java index f43ee7f465e..b1d8e60c90b 100644 --- a/src/com/android/settings/password/ConfirmLockPattern.java +++ b/src/com/android/settings/password/ConfirmLockPattern.java @@ -490,7 +490,6 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { ConfirmDeviceCredentialUtils.reportSuccessfulAttempt(mLockPatternUtils, mUserManager, mEffectiveUserId); } - mBiometricManager.onConfirmDeviceCredentialSuccess(); startDisappearAnimation(intent); ConfirmDeviceCredentialUtils.checkForPendingIntent(getActivity()); } else {