/**
* Action periodically sent to a device administrator when the device password
- * is expiring.
+ * is expiring.
*
* <p>The calling device admin must have requested
* {@link DeviceAdminInfo#USES_POLICY_EXPIRE_PASSWORD} to receive
/**
* Called periodically when the password is about to expire or has expired. It will typically
- * be called on device boot, once per day before the password expires and at the time when it
- * expires.
+ * be called at these times: on device boot, once per day before the password expires,
+ * and at the time when the password expires.
*
* <p>If the password is not updated by the user, this method will continue to be called
* once per day until the password is changed or the device admin disables password expiration.
}
/**
- * Get the current password expiration timeout for the given admin or the aggregate
- * of all admins if admin is null.
+ * Get the password expiration timeout for the given admin. The expiration timeout is the
+ * recurring expiration timeout provided in the call to
+ * {@link #setPasswordExpirationTimeout(ComponentName, long)} for the given admin or the
+ * aggregate of all policy administrators if admin is null.
*
* @param admin The name of the admin component to check, or null to aggregate all admins.
* @return The timeout for the given admin or the minimum of all timeouts
/**
* Get the current password expiration time for the given admin or an aggregate of
- * all admins if admin is null.
+ * all admins if admin is null. If the password is expired, this will return the time since
+ * the password expired as a negative number. If admin is null, then a composite of all
+ * expiration timeouts is returned - which will be the minimum of all timeouts.
*
* @param admin The name of the admin component to check, or null to aggregate all admins.
* @return The password expiration time, in ms.
to be used while policy is enabled. Only the first device admin
sets the effective global proxy.</string>
<!-- Title of policy access to enforce password expiration [CHAR LIMIT=30]-->
- <string name="policylab_expirePassword">Set password expiration</string>
+ <string name="policylab_expirePassword">Set lock-screen password expiration</string>
<!-- Description of policy access to enforce password expiration [CHAR LIMIT=110]-->
- <string name="policydesc_expirePassword">Control how long before lockscreen password needs to be
- changed</string>
+ <string name="policydesc_expirePassword">Control how frequently the lock-screen password must be
+ changed</string>
<!-- Title of policy access to require encrypted storage [CHAR LIMIT=30]-->
<string name="policylab_encryptedStorage">Set storage encryption</string>
<!-- Description of policy access to require encrypted storage [CHAR LIMIT=110]-->
* Implementation of the device policy APIs.
*/
public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
- private static final int REQUEST_EXPIRE_PASSWORD = 5571;
+ private static final String TAG = "DevicePolicyManagerService";
- static final String TAG = "DevicePolicyManagerService";
+ private static final int REQUEST_EXPIRE_PASSWORD = 5571;
private static final long EXPIRATION_GRACE_PERIOD_MS = 5 * 86400 * 1000; // 5 days, in ms