Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4c549ab authored by Sooraj Sasindran's avatar Sooraj Sasindran Committed by Gerrit Code Review
Browse files

Merge "Use builder to pass profile network preference"

parents 0134ac77 b8f7654b
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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;
@@ -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 */));
    }
+41 −25
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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
@@ -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
@@ -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