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