Loading src/com/android/settings/password/ChooseLockSettingsHelper.java +17 −17 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.app.Activity; import android.app.KeyguardManager; import android.app.StartLockscreenValidationRequest; import android.app.RemoteLockscreenValidationSession; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; Loading Loading @@ -145,7 +145,7 @@ public final class ChooseLockSettingsHelper { private boolean mAllowAnyUserId; private boolean mForceVerifyPath; private boolean mRemoteLockscreenValidation; @Nullable private StartLockscreenValidationRequest mStartLockscreenValidationRequest; @Nullable private RemoteLockscreenValidationSession mRemoteLockscreenValidationSession; @Nullable private ComponentName mRemoteLockscreenValidationServiceComponent; boolean mRequestGatekeeperPasswordHandle; Loading Loading @@ -272,7 +272,7 @@ public final class ChooseLockSettingsHelper { /** * @param isRemoteLockscreenValidation if true, remote device validation flow will be * started. {@link #setStartLockscreenValidationRequest} and * started. {@link #setRemoteLockscreenValidationSession}, * {@link #setRemoteLockscreenValidationServiceComponent} * must also be used to set the required data. */ Loading @@ -283,14 +283,14 @@ public final class ChooseLockSettingsHelper { } /** * @param startLockScreenValidationRequest contains information necessary to perform remote * @param remoteLockscreenValidationSession contains information necessary to perform remote * lockscreen validation such as the remote device's * lockscreen type, public key to be used for * encryption, and remaining attempts. */ @NonNull public Builder setStartLockscreenValidationRequest( StartLockscreenValidationRequest startLockScreenValidationRequest) { mStartLockscreenValidationRequest = startLockScreenValidationRequest; @NonNull public Builder setRemoteLockscreenValidationSession( RemoteLockscreenValidationSession remoteLockscreenValidationSession) { mRemoteLockscreenValidationSession = remoteLockscreenValidationSession; return this; } Loading Loading @@ -369,7 +369,7 @@ public final class ChooseLockSettingsHelper { mBuilder.mDescription, mBuilder.mReturnCredentials, mBuilder.mExternal, mBuilder.mForceVerifyPath, mBuilder.mUserId, mBuilder.mAlternateButton, mBuilder.mCheckBoxLabel, mBuilder.mRemoteLockscreenValidation, mBuilder.mStartLockscreenValidationRequest, mBuilder.mRemoteLockscreenValidationSession, mBuilder.mRemoteLockscreenValidationServiceComponent, mBuilder.mAllowAnyUserId, mBuilder.mForegroundOnly, mBuilder.mRequestGatekeeperPasswordHandle); } Loading @@ -379,18 +379,18 @@ public final class ChooseLockSettingsHelper { boolean returnCredentials, boolean external, boolean forceVerifyPath, int userId, @Nullable CharSequence alternateButton, @Nullable CharSequence checkboxLabel, boolean remoteLockscreenValidation, @Nullable StartLockscreenValidationRequest startLockScreenValidationRequest, @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession, @Nullable ComponentName remoteLockscreenValidationServiceComponent, boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) { Optional<Class<?>> activityClass = determineAppropriateActivityClass( returnCredentials, forceVerifyPath, userId, startLockScreenValidationRequest); returnCredentials, forceVerifyPath, userId, remoteLockscreenValidationSession); if (activityClass.isEmpty()) { return false; } return launchConfirmationActivity(request, title, header, description, activityClass.get(), returnCredentials, external, forceVerifyPath, userId, alternateButton, checkboxLabel, remoteLockscreenValidation, startLockScreenValidationRequest, checkboxLabel, remoteLockscreenValidation, remoteLockscreenValidationSession, remoteLockscreenValidationServiceComponent, allowAnyUser, foregroundOnly, requestGatekeeperPasswordHandle); } Loading @@ -400,7 +400,7 @@ public final class ChooseLockSettingsHelper { boolean external, boolean forceVerifyPath, int userId, @Nullable CharSequence alternateButton, @Nullable CharSequence checkbox, boolean remoteLockscreenValidation, @Nullable StartLockscreenValidationRequest startLockScreenValidationRequest, @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession, @Nullable ComponentName remoteLockscreenValidationServiceComponent, boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) { final Intent intent = new Intent(); Loading @@ -419,8 +419,8 @@ public final class ChooseLockSettingsHelper { intent.putExtra(Intent.EXTRA_USER_ID, userId); intent.putExtra(KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL, alternateButton); intent.putExtra(KeyguardManager.EXTRA_CHECKBOX_LABEL, checkbox); intent.putExtra(KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST, startLockScreenValidationRequest); intent.putExtra(KeyguardManager.EXTRA_REMOTE_LOCKSCREEN_VALIDATION_SESSION, remoteLockscreenValidationSession); intent.putExtra(Intent.EXTRA_COMPONENT_NAME, remoteLockscreenValidationServiceComponent); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOREGROUND_ONLY, foregroundOnly); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, allowAnyUser); Loading Loading @@ -477,10 +477,10 @@ public final class ChooseLockSettingsHelper { private Optional<Class<?>> determineAppropriateActivityClass(boolean returnCredentials, boolean forceVerifyPath, int userId, @Nullable StartLockscreenValidationRequest startLockscreenValidationRequest) { @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession) { int lockType; if (startLockscreenValidationRequest != null) { lockType = startLockscreenValidationRequest.getLockscreenUiType(); if (remoteLockscreenValidationSession != null) { lockType = remoteLockscreenValidationSession.getLockType(); } else { final int effectiveUserId = UserManager .get(mActivity).getCredentialOwnerProfile(userId); Loading src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +5 −5 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import android.app.Activity; import android.app.KeyguardManager; import android.app.StartLockscreenValidationRequest; import android.app.RemoteLockscreenValidationSession; import android.app.admin.DevicePolicyManager; import android.app.trust.TrustManager; import android.content.ComponentName; Loading Loading @@ -235,10 +235,10 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { .setUserId(LockPatternUtils.USER_FRP) .show(); } else if (remoteValidation) { StartLockscreenValidationRequest startLockScreenValidationRequest = RemoteLockscreenValidationSession remoteLockscreenValidationSession = intent.getParcelableExtra( KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST, StartLockscreenValidationRequest.class); KeyguardManager.EXTRA_REMOTE_LOCKSCREEN_VALIDATION_SESSION, RemoteLockscreenValidationSession.class); ComponentName remoteLockscreenValidationServiceComponent = intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME, ComponentName.class); Loading @@ -247,7 +247,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { new ChooseLockSettingsHelper.Builder(this); launchedCDC = builder .setRemoteLockscreenValidation(true) .setStartLockscreenValidationRequest(startLockScreenValidationRequest) .setRemoteLockscreenValidationSession(remoteLockscreenValidationSession) .setRemoteLockscreenValidationServiceComponent( remoteLockscreenValidationServiceComponent) .setHeader(mTitle) // Show the title in the header location Loading src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java +9 −9 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.annotation.Nullable; import android.app.Dialog; import android.app.KeyguardManager; import android.app.RemoteLockscreenValidationResult; import android.app.StartLockscreenValidationRequest; import android.app.RemoteLockscreenValidationSession; import android.app.admin.DevicePolicyManager; import android.app.admin.ManagedSubscriptionsPolicy; import android.content.ComponentName; Loading Loading @@ -107,7 +107,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr protected boolean mRemoteValidation; protected CharSequence mAlternateButtonText; protected BiometricManager mBiometricManager; @Nullable protected StartLockscreenValidationRequest mStartLockscreenValidationRequest; @Nullable protected RemoteLockscreenValidationSession mRemoteLockscreenValidationSession; /** Credential saved so the credential can be set for device if remote validation passes */ @Nullable protected LockscreenCredential mDeviceCredentialGuess; @Nullable protected RemoteLockscreenValidationClient mRemoteLockscreenValidationClient; Loading Loading @@ -141,12 +141,12 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr } } if (mRemoteValidation) { mStartLockscreenValidationRequest = intent.getParcelableExtra( KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST, StartLockscreenValidationRequest.class); if (mStartLockscreenValidationRequest == null || mStartLockscreenValidationRequest.getRemainingAttempts() == 0) { Log.e(TAG, "StartLockscreenValidationRequest is null or " mRemoteLockscreenValidationSession = intent.getParcelableExtra( KeyguardManager.EXTRA_REMOTE_LOCKSCREEN_VALIDATION_SESSION, RemoteLockscreenValidationSession.class); if (mRemoteLockscreenValidationSession == null || mRemoteLockscreenValidationSession.getRemainingAttempts() == 0) { Log.e(TAG, "RemoteLockscreenValidationSession is null or " + "no more attempts for remote lockscreen validation."); getActivity().finish(); } Loading Loading @@ -437,7 +437,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr private byte[] encryptDeviceCredentialGuess(byte[] guess) { try { byte[] encodedPublicKey = mStartLockscreenValidationRequest.getSourcePublicKey(); byte[] encodedPublicKey = mRemoteLockscreenValidationSession.getSourcePublicKey(); PublicKey publicKey = SecureBox.decodePublicKey(encodedPublicKey); return SecureBox.encrypt( publicKey, Loading src/com/android/settings/password/ConfirmLockPassword.java +4 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { mErrorTextView = (TextView) view.findViewById(R.id.errorText); if (mRemoteValidation) { mIsAlpha = mStartLockscreenValidationRequest.getLockscreenUiType() mIsAlpha = mRemoteLockscreenValidationSession.getLockType() == KeyguardManager.PASSWORD; // ProgressBar visibility is set to GONE until interacted with. // Set progress bar to INVISIBLE, so the EditText does not get bumped down later. Loading Loading @@ -633,6 +633,9 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { break; case RemoteLockscreenValidationResult.RESULT_NO_REMAINING_ATTEMPTS: getActivity().finish(); break; case RemoteLockscreenValidationResult.RESULT_SESSION_EXPIRED: getActivity().finish(); } mGlifLayout.setProgressBarShown(false); } Loading src/com/android/settings/password/ConfirmLockPattern.java +3 −0 Original line number Diff line number Diff line Loading @@ -646,6 +646,9 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { break; case RemoteLockscreenValidationResult.RESULT_NO_REMAINING_ATTEMPTS: getActivity().finish(); break; case RemoteLockscreenValidationResult.RESULT_SESSION_EXPIRED: getActivity().finish(); } mGlifLayout.setProgressBarShown(false); } Loading Loading
src/com/android/settings/password/ChooseLockSettingsHelper.java +17 −17 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.app.Activity; import android.app.KeyguardManager; import android.app.StartLockscreenValidationRequest; import android.app.RemoteLockscreenValidationSession; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; Loading Loading @@ -145,7 +145,7 @@ public final class ChooseLockSettingsHelper { private boolean mAllowAnyUserId; private boolean mForceVerifyPath; private boolean mRemoteLockscreenValidation; @Nullable private StartLockscreenValidationRequest mStartLockscreenValidationRequest; @Nullable private RemoteLockscreenValidationSession mRemoteLockscreenValidationSession; @Nullable private ComponentName mRemoteLockscreenValidationServiceComponent; boolean mRequestGatekeeperPasswordHandle; Loading Loading @@ -272,7 +272,7 @@ public final class ChooseLockSettingsHelper { /** * @param isRemoteLockscreenValidation if true, remote device validation flow will be * started. {@link #setStartLockscreenValidationRequest} and * started. {@link #setRemoteLockscreenValidationSession}, * {@link #setRemoteLockscreenValidationServiceComponent} * must also be used to set the required data. */ Loading @@ -283,14 +283,14 @@ public final class ChooseLockSettingsHelper { } /** * @param startLockScreenValidationRequest contains information necessary to perform remote * @param remoteLockscreenValidationSession contains information necessary to perform remote * lockscreen validation such as the remote device's * lockscreen type, public key to be used for * encryption, and remaining attempts. */ @NonNull public Builder setStartLockscreenValidationRequest( StartLockscreenValidationRequest startLockScreenValidationRequest) { mStartLockscreenValidationRequest = startLockScreenValidationRequest; @NonNull public Builder setRemoteLockscreenValidationSession( RemoteLockscreenValidationSession remoteLockscreenValidationSession) { mRemoteLockscreenValidationSession = remoteLockscreenValidationSession; return this; } Loading Loading @@ -369,7 +369,7 @@ public final class ChooseLockSettingsHelper { mBuilder.mDescription, mBuilder.mReturnCredentials, mBuilder.mExternal, mBuilder.mForceVerifyPath, mBuilder.mUserId, mBuilder.mAlternateButton, mBuilder.mCheckBoxLabel, mBuilder.mRemoteLockscreenValidation, mBuilder.mStartLockscreenValidationRequest, mBuilder.mRemoteLockscreenValidationSession, mBuilder.mRemoteLockscreenValidationServiceComponent, mBuilder.mAllowAnyUserId, mBuilder.mForegroundOnly, mBuilder.mRequestGatekeeperPasswordHandle); } Loading @@ -379,18 +379,18 @@ public final class ChooseLockSettingsHelper { boolean returnCredentials, boolean external, boolean forceVerifyPath, int userId, @Nullable CharSequence alternateButton, @Nullable CharSequence checkboxLabel, boolean remoteLockscreenValidation, @Nullable StartLockscreenValidationRequest startLockScreenValidationRequest, @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession, @Nullable ComponentName remoteLockscreenValidationServiceComponent, boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) { Optional<Class<?>> activityClass = determineAppropriateActivityClass( returnCredentials, forceVerifyPath, userId, startLockScreenValidationRequest); returnCredentials, forceVerifyPath, userId, remoteLockscreenValidationSession); if (activityClass.isEmpty()) { return false; } return launchConfirmationActivity(request, title, header, description, activityClass.get(), returnCredentials, external, forceVerifyPath, userId, alternateButton, checkboxLabel, remoteLockscreenValidation, startLockScreenValidationRequest, checkboxLabel, remoteLockscreenValidation, remoteLockscreenValidationSession, remoteLockscreenValidationServiceComponent, allowAnyUser, foregroundOnly, requestGatekeeperPasswordHandle); } Loading @@ -400,7 +400,7 @@ public final class ChooseLockSettingsHelper { boolean external, boolean forceVerifyPath, int userId, @Nullable CharSequence alternateButton, @Nullable CharSequence checkbox, boolean remoteLockscreenValidation, @Nullable StartLockscreenValidationRequest startLockScreenValidationRequest, @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession, @Nullable ComponentName remoteLockscreenValidationServiceComponent, boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) { final Intent intent = new Intent(); Loading @@ -419,8 +419,8 @@ public final class ChooseLockSettingsHelper { intent.putExtra(Intent.EXTRA_USER_ID, userId); intent.putExtra(KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL, alternateButton); intent.putExtra(KeyguardManager.EXTRA_CHECKBOX_LABEL, checkbox); intent.putExtra(KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST, startLockScreenValidationRequest); intent.putExtra(KeyguardManager.EXTRA_REMOTE_LOCKSCREEN_VALIDATION_SESSION, remoteLockscreenValidationSession); intent.putExtra(Intent.EXTRA_COMPONENT_NAME, remoteLockscreenValidationServiceComponent); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOREGROUND_ONLY, foregroundOnly); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, allowAnyUser); Loading Loading @@ -477,10 +477,10 @@ public final class ChooseLockSettingsHelper { private Optional<Class<?>> determineAppropriateActivityClass(boolean returnCredentials, boolean forceVerifyPath, int userId, @Nullable StartLockscreenValidationRequest startLockscreenValidationRequest) { @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession) { int lockType; if (startLockscreenValidationRequest != null) { lockType = startLockscreenValidationRequest.getLockscreenUiType(); if (remoteLockscreenValidationSession != null) { lockType = remoteLockscreenValidationSession.getLockType(); } else { final int effectiveUserId = UserManager .get(mActivity).getCredentialOwnerProfile(userId); Loading
src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +5 −5 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import android.app.Activity; import android.app.KeyguardManager; import android.app.StartLockscreenValidationRequest; import android.app.RemoteLockscreenValidationSession; import android.app.admin.DevicePolicyManager; import android.app.trust.TrustManager; import android.content.ComponentName; Loading Loading @@ -235,10 +235,10 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { .setUserId(LockPatternUtils.USER_FRP) .show(); } else if (remoteValidation) { StartLockscreenValidationRequest startLockScreenValidationRequest = RemoteLockscreenValidationSession remoteLockscreenValidationSession = intent.getParcelableExtra( KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST, StartLockscreenValidationRequest.class); KeyguardManager.EXTRA_REMOTE_LOCKSCREEN_VALIDATION_SESSION, RemoteLockscreenValidationSession.class); ComponentName remoteLockscreenValidationServiceComponent = intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME, ComponentName.class); Loading @@ -247,7 +247,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { new ChooseLockSettingsHelper.Builder(this); launchedCDC = builder .setRemoteLockscreenValidation(true) .setStartLockscreenValidationRequest(startLockScreenValidationRequest) .setRemoteLockscreenValidationSession(remoteLockscreenValidationSession) .setRemoteLockscreenValidationServiceComponent( remoteLockscreenValidationServiceComponent) .setHeader(mTitle) // Show the title in the header location Loading
src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java +9 −9 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.annotation.Nullable; import android.app.Dialog; import android.app.KeyguardManager; import android.app.RemoteLockscreenValidationResult; import android.app.StartLockscreenValidationRequest; import android.app.RemoteLockscreenValidationSession; import android.app.admin.DevicePolicyManager; import android.app.admin.ManagedSubscriptionsPolicy; import android.content.ComponentName; Loading Loading @@ -107,7 +107,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr protected boolean mRemoteValidation; protected CharSequence mAlternateButtonText; protected BiometricManager mBiometricManager; @Nullable protected StartLockscreenValidationRequest mStartLockscreenValidationRequest; @Nullable protected RemoteLockscreenValidationSession mRemoteLockscreenValidationSession; /** Credential saved so the credential can be set for device if remote validation passes */ @Nullable protected LockscreenCredential mDeviceCredentialGuess; @Nullable protected RemoteLockscreenValidationClient mRemoteLockscreenValidationClient; Loading Loading @@ -141,12 +141,12 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr } } if (mRemoteValidation) { mStartLockscreenValidationRequest = intent.getParcelableExtra( KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST, StartLockscreenValidationRequest.class); if (mStartLockscreenValidationRequest == null || mStartLockscreenValidationRequest.getRemainingAttempts() == 0) { Log.e(TAG, "StartLockscreenValidationRequest is null or " mRemoteLockscreenValidationSession = intent.getParcelableExtra( KeyguardManager.EXTRA_REMOTE_LOCKSCREEN_VALIDATION_SESSION, RemoteLockscreenValidationSession.class); if (mRemoteLockscreenValidationSession == null || mRemoteLockscreenValidationSession.getRemainingAttempts() == 0) { Log.e(TAG, "RemoteLockscreenValidationSession is null or " + "no more attempts for remote lockscreen validation."); getActivity().finish(); } Loading Loading @@ -437,7 +437,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr private byte[] encryptDeviceCredentialGuess(byte[] guess) { try { byte[] encodedPublicKey = mStartLockscreenValidationRequest.getSourcePublicKey(); byte[] encodedPublicKey = mRemoteLockscreenValidationSession.getSourcePublicKey(); PublicKey publicKey = SecureBox.decodePublicKey(encodedPublicKey); return SecureBox.encrypt( publicKey, Loading
src/com/android/settings/password/ConfirmLockPassword.java +4 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { mErrorTextView = (TextView) view.findViewById(R.id.errorText); if (mRemoteValidation) { mIsAlpha = mStartLockscreenValidationRequest.getLockscreenUiType() mIsAlpha = mRemoteLockscreenValidationSession.getLockType() == KeyguardManager.PASSWORD; // ProgressBar visibility is set to GONE until interacted with. // Set progress bar to INVISIBLE, so the EditText does not get bumped down later. Loading Loading @@ -633,6 +633,9 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { break; case RemoteLockscreenValidationResult.RESULT_NO_REMAINING_ATTEMPTS: getActivity().finish(); break; case RemoteLockscreenValidationResult.RESULT_SESSION_EXPIRED: getActivity().finish(); } mGlifLayout.setProgressBarShown(false); } Loading
src/com/android/settings/password/ConfirmLockPattern.java +3 −0 Original line number Diff line number Diff line Loading @@ -646,6 +646,9 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { break; case RemoteLockscreenValidationResult.RESULT_NO_REMAINING_ATTEMPTS: getActivity().finish(); break; case RemoteLockscreenValidationResult.RESULT_SESSION_EXPIRED: getActivity().finish(); } mGlifLayout.setProgressBarShown(false); } Loading