Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 78257136 authored by LuK1337's avatar LuK1337 Committed by Michael Bestas
Browse files

Settings: Make FRP go through ChooseLockPatternSize if needed

Change-Id: I70b0ddb20033dd5505c391763a0a58fd2f9c8004
parent f277bf7f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ public class ChooseLockPattern extends SettingsActivity {

        public IntentBuilder(Context context) {
            mIntent = new Intent(context, ChooseLockPatternSize.class);
            mIntent.putExtra("className", ChooseLockPattern.class.getName());
            mIntent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, false);
            mIntent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false);
        }
+4 −2
Original line number Diff line number Diff line
@@ -96,8 +96,10 @@ public class ChooseLockPatternSize extends SettingsActivity {
                patternSize = 3;
            }

            Intent intent = new Intent(getActivity(), ChooseLockPattern.class);
            intent.putExtras(getActivity().getIntent().getExtras());
            Bundle extras = getActivity().getIntent().getExtras();
            Intent intent = new Intent();
            intent.setClassName(getActivity(), extras.getString("className"));
            intent.putExtras(extras);
            intent.putExtra("pattern_size", patternSize);
            intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
            startActivity(intent);
+6 −1
Original line number Diff line number Diff line
@@ -314,7 +314,9 @@ public final class ChooseLockSettingsHelper {
        switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(effectiveUserId)) {
            case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
                launched = launchConfirmationActivity(request, title, header, description,
                        returnCredentials || forceVerifyPath
                        userId == LockPatternUtils.USER_FRP
                                ? ChooseLockPatternSize.class
                                : returnCredentials || forceVerifyPath
                                ? ConfirmLockPattern.InternalActivity.class
                                : ConfirmLockPattern.class, returnCredentials, external,
                                forceVerifyPath, userId, alternateButton, allowAnyUser,
@@ -363,6 +365,9 @@ public final class ChooseLockSettingsHelper {
        intent.setClassName(SETTINGS_PACKAGE_NAME, activityClass.getName());
        intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
                SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE);
        if (userId == LockPatternUtils.USER_FRP) {
            intent.putExtra("className", ConfirmLockPattern.class.getName());
        }

        Intent inIntent = mFragment != null ? mFragment.getActivity().getIntent() :
                mActivity.getIntent();
+5 −3
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
        private DisappearAnimationUtils mDisappearAnimationUtils;

        private boolean mIsManagedProfile;
        private byte mPatternSize;

        // required constructor for fragments
        public ConfirmLockPatternFragment() {
@@ -126,6 +127,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
            mErrorTextView = (TextView) view.findViewById(R.id.errorText);

            mIsManagedProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
            mPatternSize = mLockPatternUtils.getLockPatternSize(mEffectiveUserId);

            // make it so unhandled touch events within the unlock screen go to the
            // lock pattern view.
@@ -139,6 +141,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
                        ConfirmDeviceCredentialBaseFragment.HEADER_TEXT);
                mDetailsText = intent.getCharSequenceExtra(
                        ConfirmDeviceCredentialBaseFragment.DETAILS_TEXT);
                mPatternSize = intent.getByteExtra("pattern_size", mPatternSize);
            }
            if (TextUtils.isEmpty(mHeaderText) && mIsManagedProfile) {
                mHeaderText = mDevicePolicyManager.getOrganizationNameForUser(mUserId);
@@ -148,8 +151,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
                    mLockPatternUtils.isTactileFeedbackEnabled());
            mLockPatternView.setInStealthMode(!mLockPatternUtils.isVisiblePatternEnabled(
                    mEffectiveUserId));
            mLockPatternView.setLockPatternSize(
                    mLockPatternUtils.getLockPatternSize(mEffectiveUserId));
            mLockPatternView.setLockPatternSize(mPatternSize);
            mLockPatternView.setOnPatternListener(mConfirmExistingLockPatternListener);
            mLockPatternView.setOnTouchListener((v, event) -> {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
@@ -435,7 +437,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
                mLockPatternView.setEnabled(false);

                final LockscreenCredential credential = LockscreenCredential.createPattern(pattern,
                        mLockPatternUtils.getLockPatternSize(mEffectiveUserId));
                        mPatternSize);
                // TODO(b/161956762): Sanitize this
                Intent intent = new Intent();
                if (mReturnGatekeeperPassword) {