Preserve old password when handling SET_NEW_PASSWORD.
Currently the only way mUserPassword can be set is when it comes from onActivityResult. This way when the user chooses "Continue without Pixel Imprint", and we switch ChooseLockGeneric->InternalActivity, mUserPassword becomes null (it is not preserved in intent extras). And then this null is used in getLockPasswordIntent which causes the issue. Another issues is that when the user chooses to use fingerprint, mHasChallenge is set to true and password is not forwarded to ChooseLock(Password|Pattern). I changed the intent builders so that both old password and challenge can be sent at the same time, so the password is not lost when fingerprint is set. Bug: 67672081 Test: cd packages/apps/Settings/tests/robotests/ && mma Test: manual, adb shell am start -a android.app.action.SET_NEW_PASSWORD, tried setting pin/password with and without fingerprint. Test: manual, tried to change lock via Settings -> Security&Location Test: manual, set pin + fingerprint in Setup Wizard, FBE and FDE devices Test: manual, set pin + added account, used pin to unlock FRP in SUW Change-Id: I38d56d84f95c63fef24c2aa1a031d629f22756a1
Loading