OSDN Git Service

Fix resetPasswordWithToken before user unlock
authorRubin Xu <rubinxu@google.com>
Mon, 28 Aug 2017 10:47:35 +0000 (11:47 +0100)
committerRubin Xu <rubinxu@google.com>
Tue, 5 Sep 2017 13:49:00 +0000 (14:49 +0100)
commit7cf4509c31f3dc1c32f89c26867a50c4ed0d5618
tree7a1c82cbd4ec85d720132398a399f25eb1544130
parent2dac2cce5a2f28ae368e7e6af6fb4e49ac22c5b4
Fix resetPasswordWithToken before user unlock

1. Fix system server crash when resetPasswordWithToken is called before use
   unlock, due to DPMS enforces user is unlocked when calculating password
   sufficiency.
2. Propogate new password metric from LockSettingsService to DPMS after a
   password reset with token, and fix a bug where stale quality was used.

Bug: 64923343
Bug: 64928518
Bug: 65286643
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.ManagedProfileTest#testResetPasswordWithTokenBeforeUnlock
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testResetPasswordWithToken
Test: runtest frameworks-services -p com.android.server.locksettings
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceAdminHostSideTestApi24#testRunDeviceOwnerPasswordTest
Test: runtest frameworks-core -c android.app.admin.PasswordMetricsTest
Test: runtest frameworks-services -c com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: Ibb3736547b3b36da4a8a67af711e08a38427aa56
core/java/android/app/admin/DevicePolicyManager.java
core/java/android/app/admin/PasswordMetrics.java
core/java/com/android/internal/widget/LockPatternUtils.java
core/tests/coretests/src/android/app/admin/PasswordMetricsTest.java
services/core/java/com/android/server/locksettings/LockSettingsService.java
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java
services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java