Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +14 −14 Original line number Diff line number Diff line Loading @@ -102,8 +102,8 @@ import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE; import static android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES; // TODO (b/178655595) import static android.net.ConnectivityManager.USER_PREFERENCE_ENTERPRISE; // TODO (b/178655595) import static android.net.ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE; import static android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER; Loading Loading @@ -3089,13 +3089,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { updatePermissionPolicyCache(userId); updateAdminCanGrantSensorsPermissionCache(userId); boolean enableEnterpriseNetworkSlice = true; boolean enableEnterpriseNetworkPreferenceEnabled = true; synchronized (getLockObject()) { ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId); enableEnterpriseNetworkSlice = owner != null enableEnterpriseNetworkPreferenceEnabled = owner != null ? owner.mEnterpriseNetworkPreferenceEnabled : true; } updateNetworkPreferenceForUser(userId, enableEnterpriseNetworkSlice); updateNetworkPreferenceForUser(userId, enableEnterpriseNetworkPreferenceEnabled); startOwnerService(userId, "start-user"); } Loading Loading @@ -17009,18 +17009,18 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } private void updateNetworkPreferenceForUser(int userId, boolean enableEnterprise) { private void updateNetworkPreferenceForUser(int userId, boolean enableEnterpriseNetworkPreferenceEnabled) { if (!isManagedProfile(userId)) { return; } // TODO(b/178655595) // int networkPreference = enable ? ConnectivityManager.USER_PREFERENCE_ENTERPRISE : // ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT; // mInjector.binderWithCleanCallingIdentity(() -> // mInjector.getConnectivityManager().setNetworkPreferenceForUser( // UserHandle.of(userId), // networkPreference, // null /* executor */, null /* listener */)); int networkPreference = enableEnterpriseNetworkPreferenceEnabled ? PROFILE_NETWORK_PREFERENCE_ENTERPRISE : PROFILE_NETWORK_PREFERENCE_DEFAULT; mInjector.binderWithCleanCallingIdentity(() -> mInjector.getConnectivityManager().setProfileNetworkPreference( UserHandle.of(userId), networkPreference, null /* executor */, null /* listener */)); } @Override services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +39 −32 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ import android.content.pm.StringParceledListSlice; import android.content.pm.UserInfo; import android.graphics.Color; import android.hardware.usb.UsbManager; import android.net.ConnectivityManager; import android.net.Uri; import android.os.Build.VERSION_CODES; import android.os.Bundle; Loading Loading @@ -4017,23 +4018,27 @@ public class DevicePolicyManagerTest extends DpmTestBase { @Test public void testUpdateNetworkPreferenceOnStartOnStopUser() throws Exception { dpms.handleStartUser(CALLER_USER_HANDLE); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // anyInt(), // any(Executor.class), // any(Runnable.class) //); dpms.handleStopUser(CALLER_USER_HANDLE); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // eq(ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT), // any(Executor.class), // any(Runnable.class) //); final int managedProfileUserId = 15; final int managedProfileAdminUid = UserHandle.getUid(managedProfileUserId, 19436); addManagedProfile(admin1, managedProfileAdminUid, admin1); mContext.binder.callingUid = managedProfileAdminUid; mServiceContext.permissions.add(permission.INTERACT_ACROSS_USERS_FULL); dpms.handleStartUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), anyInt(), any(), any() ); dpms.handleStopUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); } @Test Loading @@ -4044,26 +4049,28 @@ public class DevicePolicyManagerTest extends DpmTestBase { assertExpectException(SecurityException.class, null, () -> dpm.isEnterpriseNetworkPreferenceEnabled()); setupProfileOwner(); final int managedProfileUserId = 15; final int managedProfileAdminUid = UserHandle.getUid(managedProfileUserId, 19436); addManagedProfile(admin1, managedProfileAdminUid, admin1); mContext.binder.callingUid = managedProfileAdminUid; dpm.setEnterpriseNetworkPreferenceEnabled(false); assertThat(dpm.isEnterpriseNetworkPreferenceEnabled()).isFalse(); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // eq(ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT), // any(Executor.class), // any(Runnable.class) //); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); dpm.setEnterpriseNetworkPreferenceEnabled(true); assertThat(dpm.isEnterpriseNetworkPreferenceEnabled()).isTrue(); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // eq(ConnectivityManager.USER_PREFERENCE_ENTERPRISE), // any(Executor.class), // any(Runnable.class) //); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE), any(), any() ); } @Test Loading Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +14 −14 Original line number Diff line number Diff line Loading @@ -102,8 +102,8 @@ import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE; import static android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES; // TODO (b/178655595) import static android.net.ConnectivityManager.USER_PREFERENCE_ENTERPRISE; // TODO (b/178655595) import static android.net.ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE; import static android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER; Loading Loading @@ -3089,13 +3089,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { updatePermissionPolicyCache(userId); updateAdminCanGrantSensorsPermissionCache(userId); boolean enableEnterpriseNetworkSlice = true; boolean enableEnterpriseNetworkPreferenceEnabled = true; synchronized (getLockObject()) { ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId); enableEnterpriseNetworkSlice = owner != null enableEnterpriseNetworkPreferenceEnabled = owner != null ? owner.mEnterpriseNetworkPreferenceEnabled : true; } updateNetworkPreferenceForUser(userId, enableEnterpriseNetworkSlice); updateNetworkPreferenceForUser(userId, enableEnterpriseNetworkPreferenceEnabled); startOwnerService(userId, "start-user"); } Loading Loading @@ -17009,18 +17009,18 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } private void updateNetworkPreferenceForUser(int userId, boolean enableEnterprise) { private void updateNetworkPreferenceForUser(int userId, boolean enableEnterpriseNetworkPreferenceEnabled) { if (!isManagedProfile(userId)) { return; } // TODO(b/178655595) // int networkPreference = enable ? ConnectivityManager.USER_PREFERENCE_ENTERPRISE : // ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT; // mInjector.binderWithCleanCallingIdentity(() -> // mInjector.getConnectivityManager().setNetworkPreferenceForUser( // UserHandle.of(userId), // networkPreference, // null /* executor */, null /* listener */)); int networkPreference = enableEnterpriseNetworkPreferenceEnabled ? PROFILE_NETWORK_PREFERENCE_ENTERPRISE : PROFILE_NETWORK_PREFERENCE_DEFAULT; mInjector.binderWithCleanCallingIdentity(() -> mInjector.getConnectivityManager().setProfileNetworkPreference( UserHandle.of(userId), networkPreference, null /* executor */, null /* listener */)); } @Override
services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +39 −32 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ import android.content.pm.StringParceledListSlice; import android.content.pm.UserInfo; import android.graphics.Color; import android.hardware.usb.UsbManager; import android.net.ConnectivityManager; import android.net.Uri; import android.os.Build.VERSION_CODES; import android.os.Bundle; Loading Loading @@ -4017,23 +4018,27 @@ public class DevicePolicyManagerTest extends DpmTestBase { @Test public void testUpdateNetworkPreferenceOnStartOnStopUser() throws Exception { dpms.handleStartUser(CALLER_USER_HANDLE); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // anyInt(), // any(Executor.class), // any(Runnable.class) //); dpms.handleStopUser(CALLER_USER_HANDLE); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // eq(ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT), // any(Executor.class), // any(Runnable.class) //); final int managedProfileUserId = 15; final int managedProfileAdminUid = UserHandle.getUid(managedProfileUserId, 19436); addManagedProfile(admin1, managedProfileAdminUid, admin1); mContext.binder.callingUid = managedProfileAdminUid; mServiceContext.permissions.add(permission.INTERACT_ACROSS_USERS_FULL); dpms.handleStartUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), anyInt(), any(), any() ); dpms.handleStopUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); } @Test Loading @@ -4044,26 +4049,28 @@ public class DevicePolicyManagerTest extends DpmTestBase { assertExpectException(SecurityException.class, null, () -> dpm.isEnterpriseNetworkPreferenceEnabled()); setupProfileOwner(); final int managedProfileUserId = 15; final int managedProfileAdminUid = UserHandle.getUid(managedProfileUserId, 19436); addManagedProfile(admin1, managedProfileAdminUid, admin1); mContext.binder.callingUid = managedProfileAdminUid; dpm.setEnterpriseNetworkPreferenceEnabled(false); assertThat(dpm.isEnterpriseNetworkPreferenceEnabled()).isFalse(); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // eq(ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT), // any(Executor.class), // any(Runnable.class) //); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); dpm.setEnterpriseNetworkPreferenceEnabled(true); assertThat(dpm.isEnterpriseNetworkPreferenceEnabled()).isTrue(); // TODO(b/178655595) // verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser( // any(UserHandle.class), // eq(ConnectivityManager.USER_PREFERENCE_ENTERPRISE), // any(Executor.class), // any(Runnable.class) //); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE), any(), any() ); } @Test Loading