Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +22 −31 Original line number Diff line number Diff line Loading @@ -3465,44 +3465,35 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } enforceCrossUserPermission(userHandle); enforceNotManagedProfile(userHandle, "set the active password"); mContext.enforceCallingOrSelfPermission( android.Manifest.permission.BIND_DEVICE_ADMIN, null); DevicePolicyData p = getUserData(userHandle); validateQualityConstant(quality); synchronized (this) { if (p.mActivePasswordQuality != quality || p.mActivePasswordLength != length || p.mFailedPasswordAttempts != 0 || p.mActivePasswordLetters != letters || p.mActivePasswordUpperCase != uppercase || p.mActivePasswordLowerCase != lowercase || p.mActivePasswordNumeric != numbers || p.mActivePasswordSymbols != symbols || p.mActivePasswordNonLetter != nonletter) { DevicePolicyData policy = getUserData(userHandle); long ident = Binder.clearCallingIdentity(); try { p.mActivePasswordQuality = quality; p.mActivePasswordLength = length; p.mActivePasswordLetters = letters; p.mActivePasswordLowerCase = lowercase; p.mActivePasswordUpperCase = uppercase; p.mActivePasswordNumeric = numbers; p.mActivePasswordSymbols = symbols; p.mActivePasswordNonLetter = nonletter; p.mFailedPasswordAttempts = 0; synchronized (this) { policy.mActivePasswordQuality = quality; policy.mActivePasswordLength = length; policy.mActivePasswordLetters = letters; policy.mActivePasswordLowerCase = lowercase; policy.mActivePasswordUpperCase = uppercase; policy.mActivePasswordNumeric = numbers; policy.mActivePasswordSymbols = symbols; policy.mActivePasswordNonLetter = nonletter; policy.mFailedPasswordAttempts = 0; saveSettingsLocked(userHandle); updatePasswordExpirationsLocked(userHandle); setExpirationAlarmCheckLocked(mContext, p); setExpirationAlarmCheckLocked(mContext, policy); sendAdminCommandToSelfAndProfilesLocked( DeviceAdminReceiver.ACTION_PASSWORD_CHANGED, DeviceAdminInfo.USES_POLICY_LIMIT_PASSWORD, userHandle); } } finally { Binder.restoreCallingIdentity(ident); } } } } /** * Called any time the device password is updated. Resets all password expiration clocks. Loading Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +22 −31 Original line number Diff line number Diff line Loading @@ -3465,44 +3465,35 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } enforceCrossUserPermission(userHandle); enforceNotManagedProfile(userHandle, "set the active password"); mContext.enforceCallingOrSelfPermission( android.Manifest.permission.BIND_DEVICE_ADMIN, null); DevicePolicyData p = getUserData(userHandle); validateQualityConstant(quality); synchronized (this) { if (p.mActivePasswordQuality != quality || p.mActivePasswordLength != length || p.mFailedPasswordAttempts != 0 || p.mActivePasswordLetters != letters || p.mActivePasswordUpperCase != uppercase || p.mActivePasswordLowerCase != lowercase || p.mActivePasswordNumeric != numbers || p.mActivePasswordSymbols != symbols || p.mActivePasswordNonLetter != nonletter) { DevicePolicyData policy = getUserData(userHandle); long ident = Binder.clearCallingIdentity(); try { p.mActivePasswordQuality = quality; p.mActivePasswordLength = length; p.mActivePasswordLetters = letters; p.mActivePasswordLowerCase = lowercase; p.mActivePasswordUpperCase = uppercase; p.mActivePasswordNumeric = numbers; p.mActivePasswordSymbols = symbols; p.mActivePasswordNonLetter = nonletter; p.mFailedPasswordAttempts = 0; synchronized (this) { policy.mActivePasswordQuality = quality; policy.mActivePasswordLength = length; policy.mActivePasswordLetters = letters; policy.mActivePasswordLowerCase = lowercase; policy.mActivePasswordUpperCase = uppercase; policy.mActivePasswordNumeric = numbers; policy.mActivePasswordSymbols = symbols; policy.mActivePasswordNonLetter = nonletter; policy.mFailedPasswordAttempts = 0; saveSettingsLocked(userHandle); updatePasswordExpirationsLocked(userHandle); setExpirationAlarmCheckLocked(mContext, p); setExpirationAlarmCheckLocked(mContext, policy); sendAdminCommandToSelfAndProfilesLocked( DeviceAdminReceiver.ACTION_PASSWORD_CHANGED, DeviceAdminInfo.USES_POLICY_LIMIT_PASSWORD, userHandle); } } finally { Binder.restoreCallingIdentity(ident); } } } } /** * Called any time the device password is updated. Resets all password expiration clocks. Loading