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:
Pavel Grafov
2016-12-06 15:54:50 +00:00
parent 3abedefd38
commit 8e02f0e7e7
6 changed files with 9 additions and 12 deletions

View File

@@ -65,7 +65,7 @@ public class TimeoutPreferenceController extends AbstractPreferenceController im
final RestrictedLockUtils.EnforcedAdmin admin =
RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext);
final long maxTimeout =
dpm.getMaximumTimeToLockForUserAndProfiles(UserHandle.myUserId());
dpm.getMaximumTimeToLock(null /* admin */, UserHandle.myUserId());
timeoutListPreference.removeUnusableTimeouts(maxTimeout, admin);
}
updateTimeoutPreferenceDescription(timeoutListPreference, currentTimeout);

View File

@@ -107,8 +107,8 @@ public class LockAfterTimeoutPreferenceController extends AbstractPreferenceCont
if (mDPM != null) {
final RestrictedLockUtils.EnforcedAdmin admin =
RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext);
final long adminTimeout = mDPM
.getMaximumTimeToLockForUserAndProfiles(UserHandle.myUserId());
final long adminTimeout =
mDPM.getMaximumTimeToLock(null /* admin */, UserHandle.myUserId());
final long displayTimeout = Math.max(0,
Settings.System.getInt(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, 0));
// This setting is a slave to display timeout when a device policy is enforced.

View File

@@ -223,7 +223,7 @@ public class DevicePolicyManagerWrapper {
*
* @see DevicePolicyManager#getMaximumTimeToLock(ComponentName, int)
*/
public long getMaximumTimeToLockForUserAndProfiles(@UserIdInt int userHandle) {
return mDpm.getMaximumTimeToLockForUserAndProfiles(userHandle);
public long getMaximumTimeToLock(@Nullable ComponentName admin, @UserIdInt int userHandle) {
return mDpm.getMaximumTimeToLock(admin, userHandle);
}
}

View File

@@ -88,8 +88,7 @@ public class TimeoutPreferenceControllerTest {
final int profileUserId = UserHandle.myUserId();
final long timeout = 10000;
when(mUserManager.getProfiles(profileUserId)).thenReturn(Collections.emptyList());
ShadowDevicePolicyManagerWrapper
.setMaximumTimeToLockForUserAndProfiles(profileUserId, timeout);
ShadowDevicePolicyManagerWrapper.setMaximumTimeToLock(profileUserId, timeout);
mController.updateState(mPreference);
verify(mPreference).removeUnusableTimeouts(timeout, null);

View File

@@ -129,8 +129,7 @@ public class LockAfterTimeoutPreferenceControllerTest {
when(mPreference.getEntryValues()).thenReturn(new CharSequence[] {"10000"} );
Settings.System.putInt(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, displayTimeout);
ShadowDevicePolicyManagerWrapper
.setMaximumTimeToLockForUserAndProfiles(userId, adminTimeout);
ShadowDevicePolicyManagerWrapper.setMaximumTimeToLock(userId, adminTimeout);
mController.updateState((Preference) mPreference);

View File

@@ -47,7 +47,7 @@ public class ShadowDevicePolicyManagerWrapper {
}
@Implementation
public long getMaximumTimeToLockForUserAndProfiles(@UserIdInt int userHandle) {
public long getMaximumTimeToLock(ComponentName admin, @UserIdInt int userHandle) {
return profileTimeouts.getOrDefault(userHandle, 0L);
}
@@ -59,8 +59,7 @@ public class ShadowDevicePolicyManagerWrapper {
ShadowDevicePolicyManagerWrapper.deviceOwnerUserId = deviceOwnerUserId;
}
public static void setMaximumTimeToLockForUserAndProfiles(
@UserIdInt int userHandle, Long timeout) {
public static void setMaximumTimeToLock(@UserIdInt int userHandle, Long timeout) {
profileTimeouts.put(userHandle, timeout);
}
}