OSDN Git Service

Fix work profile screen timeout policy
authorRicky Wai <rickywai@google.com>
Fri, 18 Mar 2016 16:26:35 +0000 (16:26 +0000)
committerRicky Wai <rickywai@google.com>
Thu, 7 Apr 2016 16:18:04 +0000 (17:18 +0100)
Settings screen should apply both primary and managed maximum
timeout policy, even separate profile challenge is enabled.

Bug: 27493348
Change-Id: I09e815d6c6ae6ecd554316cfac82daf0ad0b0cdf

src/com/android/settings/DevelopmentSettings.java
src/com/android/settings/DisplaySettings.java
src/com/android/settings/SecuritySettings.java

index c007891..c9d07f6 100644 (file)
@@ -566,7 +566,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
             return;
         }
 
-        if (mDpm.getMaximumTimeToLock(null) > 0) {
+        if (mDpm.getMaximumTimeToLockForUserAndProfiles(UserHandle.myUserId()) > 0) {
             // A DeviceAdmin has specified a maximum time until the device
             // will lock...  in this case we can't allow the user to turn
             // on "stay awake when plugged in" because that would defeat the
index 69ffcb1..1074a0c 100644 (file)
@@ -30,6 +30,7 @@ import android.hardware.SensorManager;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.SystemProperties;
+import android.os.UserHandle;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.support.v14.preference.SwitchPreference;
@@ -302,7 +303,8 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
         if (dpm != null) {
             final EnforcedAdmin admin = RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(
                     getActivity());
-            final long maxTimeout = dpm.getMaximumTimeToLock(null);
+            final long maxTimeout = dpm
+                    .getMaximumTimeToLockForUserAndProfiles(UserHandle.myUserId());
             mScreenTimeoutPreference.removeUnusableTimeouts(maxTimeout, admin);
         }
         updateTimeoutPreferenceDescription(currentTimeout);
index c1b7c6c..5699874 100644 (file)
@@ -1116,7 +1116,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
             if (mDPM != null) {
                 final EnforcedAdmin admin = RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(
                         getActivity());
-                final long adminTimeout = mDPM.getMaximumTimeToLock(null);
+                final long adminTimeout = mDPM
+                        .getMaximumTimeToLockForUserAndProfiles(UserHandle.myUserId());
                 final long displayTimeout = Math.max(0,
                         Settings.System.getInt(getContentResolver(), SCREEN_OFF_TIMEOUT, 0));
                 // This setting is a slave to display timeout when a device policy is enforced.