From 36cce830b9319985b138432b89ea1022acf68785 Mon Sep 17 00:00:00 2001 From: Ricky Wai Date: Fri, 18 Mar 2016 16:26:35 +0000 Subject: [PATCH] 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 --- src/com/android/settings/DevelopmentSettings.java | 2 +- src/com/android/settings/DisplaySettings.java | 4 +++- src/com/android/settings/SecuritySettings.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index c0078910b3..c9d07f604d 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -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 diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index 69ffcb1943..1074a0cafa 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -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); diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index c1b7c6c7c8..5699874c1c 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -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. -- 2.11.0