Managed profile lock timeout
Test: make ROBOTEST_FILTER=TimeoutPreferenceControllerTest RunSettingsRoboTests Test: make ROBOTEST_FILTER=LockAfterTimeoutPreferenceControllerTest RunSettingsRoboTests Bug: 63908311 Change-Id: I7236ec4ca37353703145c3e75d508101ecc6ca80
This commit is contained in:
@@ -65,7 +65,7 @@ public class TimeoutPreferenceController extends AbstractPreferenceController im
|
|||||||
final RestrictedLockUtils.EnforcedAdmin admin =
|
final RestrictedLockUtils.EnforcedAdmin admin =
|
||||||
RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext);
|
RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext);
|
||||||
final long maxTimeout =
|
final long maxTimeout =
|
||||||
dpm.getMaximumTimeToLockForUserAndProfiles(UserHandle.myUserId());
|
dpm.getMaximumTimeToLock(null /* admin */, UserHandle.myUserId());
|
||||||
timeoutListPreference.removeUnusableTimeouts(maxTimeout, admin);
|
timeoutListPreference.removeUnusableTimeouts(maxTimeout, admin);
|
||||||
}
|
}
|
||||||
updateTimeoutPreferenceDescription(timeoutListPreference, currentTimeout);
|
updateTimeoutPreferenceDescription(timeoutListPreference, currentTimeout);
|
||||||
|
@@ -107,8 +107,8 @@ public class LockAfterTimeoutPreferenceController extends AbstractPreferenceCont
|
|||||||
if (mDPM != null) {
|
if (mDPM != null) {
|
||||||
final RestrictedLockUtils.EnforcedAdmin admin =
|
final RestrictedLockUtils.EnforcedAdmin admin =
|
||||||
RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext);
|
RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext);
|
||||||
final long adminTimeout = mDPM
|
final long adminTimeout =
|
||||||
.getMaximumTimeToLockForUserAndProfiles(UserHandle.myUserId());
|
mDPM.getMaximumTimeToLock(null /* admin */, UserHandle.myUserId());
|
||||||
final long displayTimeout = Math.max(0,
|
final long displayTimeout = Math.max(0,
|
||||||
Settings.System.getInt(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, 0));
|
Settings.System.getInt(mContext.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.
|
||||||
|
@@ -223,7 +223,7 @@ public class DevicePolicyManagerWrapper {
|
|||||||
*
|
*
|
||||||
* @see DevicePolicyManager#getMaximumTimeToLock(ComponentName, int)
|
* @see DevicePolicyManager#getMaximumTimeToLock(ComponentName, int)
|
||||||
*/
|
*/
|
||||||
public long getMaximumTimeToLockForUserAndProfiles(@UserIdInt int userHandle) {
|
public long getMaximumTimeToLock(@Nullable ComponentName admin, @UserIdInt int userHandle) {
|
||||||
return mDpm.getMaximumTimeToLockForUserAndProfiles(userHandle);
|
return mDpm.getMaximumTimeToLock(admin, userHandle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -88,8 +88,7 @@ public class TimeoutPreferenceControllerTest {
|
|||||||
final int profileUserId = UserHandle.myUserId();
|
final int profileUserId = UserHandle.myUserId();
|
||||||
final long timeout = 10000;
|
final long timeout = 10000;
|
||||||
when(mUserManager.getProfiles(profileUserId)).thenReturn(Collections.emptyList());
|
when(mUserManager.getProfiles(profileUserId)).thenReturn(Collections.emptyList());
|
||||||
ShadowDevicePolicyManagerWrapper
|
ShadowDevicePolicyManagerWrapper.setMaximumTimeToLock(profileUserId, timeout);
|
||||||
.setMaximumTimeToLockForUserAndProfiles(profileUserId, timeout);
|
|
||||||
|
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
verify(mPreference).removeUnusableTimeouts(timeout, null);
|
verify(mPreference).removeUnusableTimeouts(timeout, null);
|
||||||
|
@@ -129,8 +129,7 @@ public class LockAfterTimeoutPreferenceControllerTest {
|
|||||||
when(mPreference.getEntryValues()).thenReturn(new CharSequence[] {"10000"} );
|
when(mPreference.getEntryValues()).thenReturn(new CharSequence[] {"10000"} );
|
||||||
|
|
||||||
Settings.System.putInt(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, displayTimeout);
|
Settings.System.putInt(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, displayTimeout);
|
||||||
ShadowDevicePolicyManagerWrapper
|
ShadowDevicePolicyManagerWrapper.setMaximumTimeToLock(userId, adminTimeout);
|
||||||
.setMaximumTimeToLockForUserAndProfiles(userId, adminTimeout);
|
|
||||||
|
|
||||||
mController.updateState((Preference) mPreference);
|
mController.updateState((Preference) mPreference);
|
||||||
|
|
||||||
|
@@ -47,7 +47,7 @@ public class ShadowDevicePolicyManagerWrapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Implementation
|
@Implementation
|
||||||
public long getMaximumTimeToLockForUserAndProfiles(@UserIdInt int userHandle) {
|
public long getMaximumTimeToLock(ComponentName admin, @UserIdInt int userHandle) {
|
||||||
return profileTimeouts.getOrDefault(userHandle, 0L);
|
return profileTimeouts.getOrDefault(userHandle, 0L);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,8 +59,7 @@ public class ShadowDevicePolicyManagerWrapper {
|
|||||||
ShadowDevicePolicyManagerWrapper.deviceOwnerUserId = deviceOwnerUserId;
|
ShadowDevicePolicyManagerWrapper.deviceOwnerUserId = deviceOwnerUserId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setMaximumTimeToLockForUserAndProfiles(
|
public static void setMaximumTimeToLock(@UserIdInt int userHandle, Long timeout) {
|
||||||
@UserIdInt int userHandle, Long timeout) {
|
|
||||||
profileTimeouts.put(userHandle, timeout);
|
profileTimeouts.put(userHandle, timeout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user