Loading src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr protected static final String FRAGMENT_TAG_REMOTE_LOCKSCREEN_VALIDATION = "remote_lockscreen_validation"; protected static final String FRAGMENT_TAG_SAVE_AND_FINISH = "save_and_finish_worker"; protected boolean mReturnCredentials = false; protected boolean mReturnGatekeeperPassword = false; Loading @@ -113,6 +114,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr /** Credential saved so the credential can be set for device if remote validation passes */ @Nullable protected RemoteLockscreenValidationClient mRemoteLockscreenValidationClient; protected RemoteLockscreenValidationFragment mRemoteLockscreenValidationFragment; @Nullable protected SaveAndFinishWorker mSaveAndFinishWorker; private boolean isInternalActivity() { return (getActivity() instanceof ConfirmLockPassword.InternalActivity) Loading Loading @@ -176,6 +178,9 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr getFragmentManager().beginTransaction().add(mRemoteLockscreenValidationFragment, FRAGMENT_TAG_REMOTE_LOCKSCREEN_VALIDATION).commit(); } mSaveAndFinishWorker = (SaveAndFinishWorker) getFragmentManager() .findFragmentByTag(FRAGMENT_TAG_SAVE_AND_FINISH); } // Only take this argument into account if it belongs to the current profile. Loading src/com/android/settings/password/ConfirmLockPassword.java +18 −8 Original line number Diff line number Diff line Loading @@ -426,6 +426,9 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(null, /* handler= */ null); } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(null); } } @Override Loading @@ -447,9 +450,13 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { mLockPatternUtils.getCurrentFailedPasswordAttempts(mEffectiveUserId)); } mCredentialCheckResultTracker.setListener(this); if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(this, mHandler); } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(this); } } @Override Loading Loading @@ -642,14 +649,17 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { if (mCheckBox.isChecked() && mRemoteLockscreenValidationFragment .getLockscreenCredential() != null) { Log.i(TAG, "Setting device screen lock to the other device's screen lock."); SaveAndFinishWorker saveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(saveAndFinishWorker, null) if (mSaveAndFinishWorker == null) { mSaveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(mSaveAndFinishWorker, FRAGMENT_TAG_SAVE_AND_FINISH) .commit(); getFragmentManager().executePendingTransactions(); saveAndFinishWorker mSaveAndFinishWorker .setListener(this) .setRequestGatekeeperPasswordHandle(true); saveAndFinishWorker.start( } mSaveAndFinishWorker.start( mLockPatternUtils, mRemoteLockscreenValidationFragment.getLockscreenCredential(), /* currentCredential= */ null, Loading src/com/android/settings/password/ConfirmLockPattern.java +18 −8 Original line number Diff line number Diff line Loading @@ -263,6 +263,9 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(null, /* handler= */ null); } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(null); } } @Override Loading @@ -285,12 +288,16 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { updateStage(Stage.NeedToUnlock); } mCredentialCheckResultTracker.setListener(this); if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(this, mHandler); if (mRemoteLockscreenValidationFragment.isRemoteValidationInProgress()) { mLockPatternView.setEnabled(false); } } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(this); } } @Override Loading Loading @@ -641,14 +648,17 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { if (mCheckBox.isChecked() && mRemoteLockscreenValidationFragment .getLockscreenCredential() != null) { Log.i(TAG, "Setting device screen lock to the other device's screen lock."); SaveAndFinishWorker saveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(saveAndFinishWorker, null) if (mSaveAndFinishWorker == null) { mSaveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(mSaveAndFinishWorker, FRAGMENT_TAG_SAVE_AND_FINISH) .commit(); getFragmentManager().executePendingTransactions(); saveAndFinishWorker mSaveAndFinishWorker .setListener(this) .setRequestGatekeeperPasswordHandle(true); saveAndFinishWorker.start( } mSaveAndFinishWorker.start( mLockPatternUtils, mRemoteLockscreenValidationFragment.getLockscreenCredential(), /* currentCredential= */ null, Loading src/com/android/settings/password/SaveAndFinishWorker.java +3 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.util.Log; import android.util.Pair; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; Loading @@ -40,7 +41,7 @@ import com.android.settings.safetycenter.LockScreenSafetySource; public class SaveAndFinishWorker extends Fragment { private static final String TAG = "SaveAndFinishWorker"; private Listener mListener; @Nullable private Listener mListener; private boolean mFinished; private Intent mResultData; Loading @@ -62,7 +63,7 @@ public class SaveAndFinishWorker extends Fragment { setRetainInstance(true); } public SaveAndFinishWorker setListener(Listener listener) { public SaveAndFinishWorker setListener(@Nullable Listener listener) { if (mListener == listener) { return this; } Loading Loading
src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr protected static final String FRAGMENT_TAG_REMOTE_LOCKSCREEN_VALIDATION = "remote_lockscreen_validation"; protected static final String FRAGMENT_TAG_SAVE_AND_FINISH = "save_and_finish_worker"; protected boolean mReturnCredentials = false; protected boolean mReturnGatekeeperPassword = false; Loading @@ -113,6 +114,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr /** Credential saved so the credential can be set for device if remote validation passes */ @Nullable protected RemoteLockscreenValidationClient mRemoteLockscreenValidationClient; protected RemoteLockscreenValidationFragment mRemoteLockscreenValidationFragment; @Nullable protected SaveAndFinishWorker mSaveAndFinishWorker; private boolean isInternalActivity() { return (getActivity() instanceof ConfirmLockPassword.InternalActivity) Loading Loading @@ -176,6 +178,9 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr getFragmentManager().beginTransaction().add(mRemoteLockscreenValidationFragment, FRAGMENT_TAG_REMOTE_LOCKSCREEN_VALIDATION).commit(); } mSaveAndFinishWorker = (SaveAndFinishWorker) getFragmentManager() .findFragmentByTag(FRAGMENT_TAG_SAVE_AND_FINISH); } // Only take this argument into account if it belongs to the current profile. Loading
src/com/android/settings/password/ConfirmLockPassword.java +18 −8 Original line number Diff line number Diff line Loading @@ -426,6 +426,9 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(null, /* handler= */ null); } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(null); } } @Override Loading @@ -447,9 +450,13 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { mLockPatternUtils.getCurrentFailedPasswordAttempts(mEffectiveUserId)); } mCredentialCheckResultTracker.setListener(this); if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(this, mHandler); } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(this); } } @Override Loading Loading @@ -642,14 +649,17 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { if (mCheckBox.isChecked() && mRemoteLockscreenValidationFragment .getLockscreenCredential() != null) { Log.i(TAG, "Setting device screen lock to the other device's screen lock."); SaveAndFinishWorker saveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(saveAndFinishWorker, null) if (mSaveAndFinishWorker == null) { mSaveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(mSaveAndFinishWorker, FRAGMENT_TAG_SAVE_AND_FINISH) .commit(); getFragmentManager().executePendingTransactions(); saveAndFinishWorker mSaveAndFinishWorker .setListener(this) .setRequestGatekeeperPasswordHandle(true); saveAndFinishWorker.start( } mSaveAndFinishWorker.start( mLockPatternUtils, mRemoteLockscreenValidationFragment.getLockscreenCredential(), /* currentCredential= */ null, Loading
src/com/android/settings/password/ConfirmLockPattern.java +18 −8 Original line number Diff line number Diff line Loading @@ -263,6 +263,9 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(null, /* handler= */ null); } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(null); } } @Override Loading @@ -285,12 +288,16 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { updateStage(Stage.NeedToUnlock); } mCredentialCheckResultTracker.setListener(this); if (mRemoteLockscreenValidationFragment != null) { mRemoteLockscreenValidationFragment.setListener(this, mHandler); if (mRemoteLockscreenValidationFragment.isRemoteValidationInProgress()) { mLockPatternView.setEnabled(false); } } if (mSaveAndFinishWorker != null) { mSaveAndFinishWorker.setListener(this); } } @Override Loading Loading @@ -641,14 +648,17 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { if (mCheckBox.isChecked() && mRemoteLockscreenValidationFragment .getLockscreenCredential() != null) { Log.i(TAG, "Setting device screen lock to the other device's screen lock."); SaveAndFinishWorker saveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(saveAndFinishWorker, null) if (mSaveAndFinishWorker == null) { mSaveAndFinishWorker = new SaveAndFinishWorker(); getFragmentManager().beginTransaction().add(mSaveAndFinishWorker, FRAGMENT_TAG_SAVE_AND_FINISH) .commit(); getFragmentManager().executePendingTransactions(); saveAndFinishWorker mSaveAndFinishWorker .setListener(this) .setRequestGatekeeperPasswordHandle(true); saveAndFinishWorker.start( } mSaveAndFinishWorker.start( mLockPatternUtils, mRemoteLockscreenValidationFragment.getLockscreenCredential(), /* currentCredential= */ null, Loading
src/com/android/settings/password/SaveAndFinishWorker.java +3 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.util.Log; import android.util.Pair; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; Loading @@ -40,7 +41,7 @@ import com.android.settings.safetycenter.LockScreenSafetySource; public class SaveAndFinishWorker extends Fragment { private static final String TAG = "SaveAndFinishWorker"; private Listener mListener; @Nullable private Listener mListener; private boolean mFinished; private Intent mResultData; Loading @@ -62,7 +63,7 @@ public class SaveAndFinishWorker extends Fragment { setRetainInstance(true); } public SaveAndFinishWorker setListener(Listener listener) { public SaveAndFinishWorker setListener(@Nullable Listener listener) { if (mListener == listener) { return this; } Loading