diff --git a/core/java/android/app/admin/DeviceAdminReceiver.java b/core/java/android/app/admin/DeviceAdminReceiver.java
index eccd7c9..29f8caf 100644
--- a/core/java/android/app/admin/DeviceAdminReceiver.java
+++ b/core/java/android/app/admin/DeviceAdminReceiver.java
@@ -148,7 +148,7 @@
 
     /**
      * 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
@@ -266,8 +266,8 @@
 
     /**
      * 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.
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 3f3aa74..036443d 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -730,8 +730,10 @@
     }
 
     /**
-     * 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
@@ -749,7 +751,9 @@
 
     /**
      * 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.
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index d09210e..361bb6c 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -1413,10 +1413,10 @@
         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]-->
diff --git a/services/java/com/android/server/DevicePolicyManagerService.java b/services/java/com/android/server/DevicePolicyManagerService.java
index b2d534b..df2cd1b 100644
--- a/services/java/com/android/server/DevicePolicyManagerService.java
+++ b/services/java/com/android/server/DevicePolicyManagerService.java
@@ -79,9 +79,9 @@
  * 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
 
