Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +8 −3 Original line number Diff line number Diff line Loading @@ -231,6 +231,7 @@ import android.media.IAudioService; import android.net.ConnectivityManager; import android.net.ConnectivitySettingsManager; import android.net.IIpConnectivityMetrics; import android.net.ProfileNetworkPreference; import android.net.ProxyInfo; import android.net.Uri; import android.net.VpnManager; Loading Loading @@ -17538,10 +17539,14 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } int networkPreference = preferentialNetworkServiceEnabled ? PROFILE_NETWORK_PREFERENCE_ENTERPRISE : PROFILE_NETWORK_PREFERENCE_DEFAULT; ProfileNetworkPreference.Builder preferenceBuilder = new ProfileNetworkPreference.Builder(); preferenceBuilder.setPreference(networkPreference); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceBuilder.build()); mInjector.binderWithCleanCallingIdentity(() -> mInjector.getConnectivityManager().setProfileNetworkPreference( UserHandle.of(userId), networkPreference, mInjector.getConnectivityManager().setProfileNetworkPreferences( UserHandle.of(userId), preferences, null /* executor */, null /* listener */)); } services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +41 −25 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ import static android.app.admin.DevicePolicyManager.PRIVATE_DNS_SET_NO_ERROR; import static android.app.admin.DevicePolicyManager.WIPE_EUICC; import static android.app.admin.PasswordMetrics.computeForPasswordOrPin; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_DIRECT_BOOT_AWARE; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE; import static android.net.InetAddresses.parseNumericAddress; import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_NONE; Loading Loading @@ -99,7 +101,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.ProfileNetworkPreference; import android.net.Uri; import android.os.Build.VERSION_CODES; import android.os.Bundle; Loading Loading @@ -4044,12 +4046,15 @@ public class DevicePolicyManagerTest extends DpmTestBase { mServiceContext.permissions.add(permission.INTERACT_ACROSS_USERS_FULL); dpms.handleStartUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), anyInt(), any(), any() ); ProfileNetworkPreference preferenceDetails = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_DEFAULT) .build(); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences, null, null); } @Test Loading @@ -4061,12 +4066,15 @@ public class DevicePolicyManagerTest extends DpmTestBase { mServiceContext.permissions.add(permission.INTERACT_ACROSS_USERS_FULL); dpms.handleStopUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); ProfileNetworkPreference preferenceDetails = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_DEFAULT) .build(); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences, null, null); } @Test Loading @@ -4084,21 +4092,29 @@ public class DevicePolicyManagerTest extends DpmTestBase { dpm.setPreferentialNetworkServiceEnabled(false); assertThat(dpm.isPreferentialNetworkServiceEnabled()).isFalse(); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); ProfileNetworkPreference preferenceDetails = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_DEFAULT) .build(); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences, null, null); dpm.setPreferentialNetworkServiceEnabled(true); assertThat(dpm.isPreferentialNetworkServiceEnabled()).isTrue(); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE), any(), any() ); ProfileNetworkPreference preferenceDetails2 = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE) .build(); List<ProfileNetworkPreference> preferences2 = new ArrayList<>(); preferences2.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences2, null, null); } @Test Loading Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +8 −3 Original line number Diff line number Diff line Loading @@ -231,6 +231,7 @@ import android.media.IAudioService; import android.net.ConnectivityManager; import android.net.ConnectivitySettingsManager; import android.net.IIpConnectivityMetrics; import android.net.ProfileNetworkPreference; import android.net.ProxyInfo; import android.net.Uri; import android.net.VpnManager; Loading Loading @@ -17538,10 +17539,14 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } int networkPreference = preferentialNetworkServiceEnabled ? PROFILE_NETWORK_PREFERENCE_ENTERPRISE : PROFILE_NETWORK_PREFERENCE_DEFAULT; ProfileNetworkPreference.Builder preferenceBuilder = new ProfileNetworkPreference.Builder(); preferenceBuilder.setPreference(networkPreference); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceBuilder.build()); mInjector.binderWithCleanCallingIdentity(() -> mInjector.getConnectivityManager().setProfileNetworkPreference( UserHandle.of(userId), networkPreference, mInjector.getConnectivityManager().setProfileNetworkPreferences( UserHandle.of(userId), preferences, null /* executor */, null /* listener */)); }
services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +41 −25 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ import static android.app.admin.DevicePolicyManager.PRIVATE_DNS_SET_NO_ERROR; import static android.app.admin.DevicePolicyManager.WIPE_EUICC; import static android.app.admin.PasswordMetrics.computeForPasswordOrPin; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_DIRECT_BOOT_AWARE; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT; import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE; import static android.net.InetAddresses.parseNumericAddress; import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_NONE; Loading Loading @@ -99,7 +101,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.ProfileNetworkPreference; import android.net.Uri; import android.os.Build.VERSION_CODES; import android.os.Bundle; Loading Loading @@ -4044,12 +4046,15 @@ public class DevicePolicyManagerTest extends DpmTestBase { mServiceContext.permissions.add(permission.INTERACT_ACROSS_USERS_FULL); dpms.handleStartUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), anyInt(), any(), any() ); ProfileNetworkPreference preferenceDetails = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_DEFAULT) .build(); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences, null, null); } @Test Loading @@ -4061,12 +4066,15 @@ public class DevicePolicyManagerTest extends DpmTestBase { mServiceContext.permissions.add(permission.INTERACT_ACROSS_USERS_FULL); dpms.handleStopUser(managedProfileUserId); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); ProfileNetworkPreference preferenceDetails = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_DEFAULT) .build(); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences, null, null); } @Test Loading @@ -4084,21 +4092,29 @@ public class DevicePolicyManagerTest extends DpmTestBase { dpm.setPreferentialNetworkServiceEnabled(false); assertThat(dpm.isPreferentialNetworkServiceEnabled()).isFalse(); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT), any(), any() ); ProfileNetworkPreference preferenceDetails = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_DEFAULT) .build(); List<ProfileNetworkPreference> preferences = new ArrayList<>(); preferences.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences, null, null); dpm.setPreferentialNetworkServiceEnabled(true); assertThat(dpm.isPreferentialNetworkServiceEnabled()).isTrue(); verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference( eq(UserHandle.of(managedProfileUserId)), eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE), any(), any() ); ProfileNetworkPreference preferenceDetails2 = new ProfileNetworkPreference.Builder() .setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE) .build(); List<ProfileNetworkPreference> preferences2 = new ArrayList<>(); preferences2.add(preferenceDetails); verify(getServices().connectivityManager, times(1)) .setProfileNetworkPreferences(UserHandle.of(managedProfileUserId), preferences2, null, null); } @Test Loading