Loading core/api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -452,7 +452,7 @@ package android.app.admin { method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceNetworkLogs(); method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void forceRemoveActiveAdmin(@NonNull android.content.ComponentName, int); method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceSecurityLogs(); method public void forceUpdateUserSetupComplete(); method public void forceUpdateUserSetupComplete(int); method @NonNull public java.util.Set<java.lang.String> getDefaultCrossProfilePackages(); method @NonNull public java.util.Set<java.lang.String> getDisallowedSystemApps(@NonNull android.content.ComponentName, int, @NonNull String); method public long getLastBugReportRequestTime(); Loading core/java/android/app/admin/DevicePolicyManager.java +4 −5 Original line number Diff line number Diff line Loading @@ -11974,15 +11974,14 @@ public class DevicePolicyManager { /** * @hide * Force update user setup completed status. * Force update user setup completed status for the given {@code userId}. * @throws {@link SecurityException} if the caller has no * {@code android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS} or the caller is * not {@link UserHandle#SYSTEM_USER} * {@code android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}. */ @TestApi public void forceUpdateUserSetupComplete() { public void forceUpdateUserSetupComplete(@UserIdInt int userId) { try { mService.forceUpdateUserSetupComplete(); mService.forceUpdateUserSetupComplete(userId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } core/java/android/app/admin/IDevicePolicyManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -406,7 +406,7 @@ interface IDevicePolicyManager { boolean isDeviceProvisioningConfigApplied(); void setDeviceProvisioningConfigApplied(); void forceUpdateUserSetupComplete(); void forceUpdateUserSetupComplete(int userId); void setBackupServiceEnabled(in ComponentName admin, boolean enabled); boolean isBackupServiceEnabled(in ComponentName admin); Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +1 −5 Original line number Diff line number Diff line Loading @@ -14513,14 +14513,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { * apps. */ @Override public void forceUpdateUserSetupComplete() { final CallerIdentity caller = getCallerIdentity(); public void forceUpdateUserSetupComplete(@UserIdInt int userId) { Preconditions.checkCallAuthorization( hasCallingOrSelfPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS)); Preconditions.checkCallAuthorization(caller.getUserHandle().isSystem(), "Caller has to be in user 0"); final int userId = UserHandle.USER_SYSTEM; boolean isUserCompleted = mInjector.settingsSecureGetIntForUser( Settings.Secure.USER_SETUP_COMPLETE, 0, userId) != 0; DevicePolicyData policy = getUserData(userId); services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +5 −14 Original line number Diff line number Diff line Loading @@ -3888,37 +3888,28 @@ public class DevicePolicyManagerTest extends DpmTestBase { public void testForceUpdateUserSetupComplete_permission() { // GIVEN the permission MANAGE_PROFILE_AND_DEVICE_OWNERS is not granted assertExpectException(SecurityException.class, /* messageRegex =*/ null, () -> dpm.forceUpdateUserSetupComplete()); } @Test public void testForceUpdateUserSetupComplete_systemUser() { mContext.callerPermissions.add(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS); // GIVEN calling from user 20 mContext.binder.callingUid = DpmMockContext.CALLER_UID; assertExpectException(SecurityException.class, /* messageRegex =*/ null, () -> dpm.forceUpdateUserSetupComplete()); () -> dpm.forceUpdateUserSetupComplete(UserHandle.USER_SYSTEM)); } @Test public void testForceUpdateUserSetupComplete_forcesUpdate() { mContext.callerPermissions.add(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS); mContext.binder.callingUid = DpmMockContext.CALLER_SYSTEM_USER_UID; final int userId = UserHandle.getUserId(mContext.binder.callingUid); final int userId = UserHandle.USER_SYSTEM; // GIVEN userComplete is false in SettingsProvider setUserSetupCompleteForUser(false, userId); // GIVEN userComplete is true in DPM DevicePolicyData userData = new DevicePolicyData(userId); userData.mUserSetupComplete = true; dpms.mUserData.put(UserHandle.USER_SYSTEM, userData); dpms.mUserData.put(userId, userData); assertThat(dpms.hasUserSetupCompleted()).isTrue(); dpm.forceUpdateUserSetupComplete(); dpm.forceUpdateUserSetupComplete(userId); // THEN the state in dpms is not changed // THEN the state in dpms is changed assertThat(dpms.hasUserSetupCompleted()).isFalse(); } Loading Loading
core/api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -452,7 +452,7 @@ package android.app.admin { method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceNetworkLogs(); method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void forceRemoveActiveAdmin(@NonNull android.content.ComponentName, int); method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceSecurityLogs(); method public void forceUpdateUserSetupComplete(); method public void forceUpdateUserSetupComplete(int); method @NonNull public java.util.Set<java.lang.String> getDefaultCrossProfilePackages(); method @NonNull public java.util.Set<java.lang.String> getDisallowedSystemApps(@NonNull android.content.ComponentName, int, @NonNull String); method public long getLastBugReportRequestTime(); Loading
core/java/android/app/admin/DevicePolicyManager.java +4 −5 Original line number Diff line number Diff line Loading @@ -11974,15 +11974,14 @@ public class DevicePolicyManager { /** * @hide * Force update user setup completed status. * Force update user setup completed status for the given {@code userId}. * @throws {@link SecurityException} if the caller has no * {@code android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS} or the caller is * not {@link UserHandle#SYSTEM_USER} * {@code android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}. */ @TestApi public void forceUpdateUserSetupComplete() { public void forceUpdateUserSetupComplete(@UserIdInt int userId) { try { mService.forceUpdateUserSetupComplete(); mService.forceUpdateUserSetupComplete(userId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); }
core/java/android/app/admin/IDevicePolicyManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -406,7 +406,7 @@ interface IDevicePolicyManager { boolean isDeviceProvisioningConfigApplied(); void setDeviceProvisioningConfigApplied(); void forceUpdateUserSetupComplete(); void forceUpdateUserSetupComplete(int userId); void setBackupServiceEnabled(in ComponentName admin, boolean enabled); boolean isBackupServiceEnabled(in ComponentName admin); Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +1 −5 Original line number Diff line number Diff line Loading @@ -14513,14 +14513,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { * apps. */ @Override public void forceUpdateUserSetupComplete() { final CallerIdentity caller = getCallerIdentity(); public void forceUpdateUserSetupComplete(@UserIdInt int userId) { Preconditions.checkCallAuthorization( hasCallingOrSelfPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS)); Preconditions.checkCallAuthorization(caller.getUserHandle().isSystem(), "Caller has to be in user 0"); final int userId = UserHandle.USER_SYSTEM; boolean isUserCompleted = mInjector.settingsSecureGetIntForUser( Settings.Secure.USER_SETUP_COMPLETE, 0, userId) != 0; DevicePolicyData policy = getUserData(userId);
services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +5 −14 Original line number Diff line number Diff line Loading @@ -3888,37 +3888,28 @@ public class DevicePolicyManagerTest extends DpmTestBase { public void testForceUpdateUserSetupComplete_permission() { // GIVEN the permission MANAGE_PROFILE_AND_DEVICE_OWNERS is not granted assertExpectException(SecurityException.class, /* messageRegex =*/ null, () -> dpm.forceUpdateUserSetupComplete()); } @Test public void testForceUpdateUserSetupComplete_systemUser() { mContext.callerPermissions.add(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS); // GIVEN calling from user 20 mContext.binder.callingUid = DpmMockContext.CALLER_UID; assertExpectException(SecurityException.class, /* messageRegex =*/ null, () -> dpm.forceUpdateUserSetupComplete()); () -> dpm.forceUpdateUserSetupComplete(UserHandle.USER_SYSTEM)); } @Test public void testForceUpdateUserSetupComplete_forcesUpdate() { mContext.callerPermissions.add(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS); mContext.binder.callingUid = DpmMockContext.CALLER_SYSTEM_USER_UID; final int userId = UserHandle.getUserId(mContext.binder.callingUid); final int userId = UserHandle.USER_SYSTEM; // GIVEN userComplete is false in SettingsProvider setUserSetupCompleteForUser(false, userId); // GIVEN userComplete is true in DPM DevicePolicyData userData = new DevicePolicyData(userId); userData.mUserSetupComplete = true; dpms.mUserData.put(UserHandle.USER_SYSTEM, userData); dpms.mUserData.put(userId, userData); assertThat(dpms.hasUserSetupCompleted()).isTrue(); dpm.forceUpdateUserSetupComplete(); dpm.forceUpdateUserSetupComplete(userId); // THEN the state in dpms is not changed // THEN the state in dpms is changed assertThat(dpms.hasUserSetupCompleted()).isFalse(); } Loading