Fix work profile screen timeout policy

Settings screen should apply both primary and managed maximum
timeout policy, even separate profile challenge is enabled.

Bug: 27493348
Change-Id: I09e815d6c6ae6ecd554316cfac82daf0ad0b0cdf
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index c007891..c9d07f6 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -566,7 +566,7 @@
             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
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 69ffcb1..1074a0c 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -30,6 +30,7 @@
 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 @@
         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);
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index c1b7c6c..5699874 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -1116,7 +1116,8 @@
             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.