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

Commit b57fecf8 authored by Sooraj Sasindran's avatar Sooraj Sasindran Committed by Automerger Merge Worker
Browse files

Merge "Use builder to pass profile network preference" am: e4c549ab

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1904411

Change-Id: If88433db8dd8e8d7fe39903d06811d7015e85988
parents e8d9b1d7 e4c549ab
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