Merge "Add support for current failed lock attempts and max attempts" into nyc-dev
am: 29b13190cd
* commit '29b13190cd57bd823eb803f6fca03f671a32a5fe':
Add support for current failed lock attempts and max attempts
This commit is contained in:
@@ -1826,9 +1826,23 @@ public class DevicePolicyManager {
|
||||
* this method; if it has not, a security exception will be thrown.
|
||||
*/
|
||||
public int getCurrentFailedPasswordAttempts() {
|
||||
return getCurrentFailedPasswordAttempts(myUserId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the number of times the given user has failed at entering a
|
||||
* password since that last successful password entry.
|
||||
*
|
||||
* <p>The calling device admin must have requested
|
||||
* {@link DeviceAdminInfo#USES_POLICY_WATCH_LOGIN} to be able to call this method; if it has
|
||||
* not and it is not the system uid, a security exception will be thrown.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public int getCurrentFailedPasswordAttempts(int userHandle) {
|
||||
if (mService != null) {
|
||||
try {
|
||||
return mService.getCurrentFailedPasswordAttempts(myUserId(), mParentInstance);
|
||||
return mService.getCurrentFailedPasswordAttempts(userHandle, mParentInstance);
|
||||
} catch (RemoteException e) {
|
||||
Log.w(TAG, REMOTE_EXCEPTION_MESSAGE, e);
|
||||
}
|
||||
|
||||
@@ -283,6 +283,15 @@ public class LockPatternUtils {
|
||||
getTrustManager().reportUnlockAttempt(true /* authenticated */, userId);
|
||||
}
|
||||
|
||||
public int getCurrentFailedPasswordAttempts(int userId) {
|
||||
return getDevicePolicyManager().getCurrentFailedPasswordAttempts(userId);
|
||||
}
|
||||
|
||||
public int getMaximumFailedPasswordsForWipe(int userId) {
|
||||
return getDevicePolicyManager().getMaximumFailedPasswordsForWipe(
|
||||
null /* componentName */, userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if a pattern matches the saved pattern.
|
||||
* If pattern matches, return an opaque attestation that the challenge
|
||||
|
||||
@@ -3524,11 +3524,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
|
||||
@Override
|
||||
public int getCurrentFailedPasswordAttempts(int userHandle, boolean parent) {
|
||||
enforceFullCrossUsersPermission(userHandle);
|
||||
synchronized (this) {
|
||||
// This API can only be called by an active device admin,
|
||||
// so try to retrieve it to check that the caller is one.
|
||||
getActiveAdminForCallerLocked(
|
||||
null, DeviceAdminInfo.USES_POLICY_WATCH_LOGIN, parent);
|
||||
if (!isCallerWithSystemUid()) {
|
||||
// This API can only be called by an active device admin,
|
||||
// so try to retrieve it to check that the caller is one.
|
||||
getActiveAdminForCallerLocked(
|
||||
null, DeviceAdminInfo.USES_POLICY_WATCH_LOGIN, parent);
|
||||
}
|
||||
|
||||
DevicePolicyData policy = getUserDataUnchecked(getCredentialOwner(userHandle, parent));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user