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

Commit 7d6b4907 authored by Benedict Wong's avatar Benedict Wong
Browse files

Populate legacy type in VCN NetworkAgentConfig

This change ensures that the VCN populates the legacy type field,
otherwise ConnectivityService crashes on an unknown legacy type.

Bug: 184304972
Test: atest FrameworksVcnTests
Change-Id: I59dc46dc34d2812a6c8f73c72d208fa735791d74
parent 134c10d9
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import static com.android.server.VcnManagementService.VDBG;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.InetAddresses;
import android.net.IpPrefix;
import android.net.IpSecManager;
@@ -1457,6 +1458,10 @@ public class VcnGatewayConnection extends StateMachine {
                    buildNetworkCapabilities(mConnectionConfig, mUnderlying);
            final LinkProperties lp =
                    buildConnectedLinkProperties(mConnectionConfig, tunnelIface, childConfig);
            final NetworkAgentConfig nac =
                    new NetworkAgentConfig.Builder()
                            .setLegacyType(ConnectivityManager.TYPE_MOBILE)
                            .build();

            final NetworkAgent agent =
                    mDeps.newNetworkAgent(
@@ -1465,7 +1470,7 @@ public class VcnGatewayConnection extends StateMachine {
                            caps,
                            lp,
                            Vcn.getNetworkScore(),
                            new NetworkAgentConfig.Builder().build(),
                            nac,
                            mVcnContext.getVcnNetworkProvider(),
                            () -> {
                                Slog.d(TAG, "NetworkAgent was unwanted");
+3 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -40,6 +41,7 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;

import android.net.ConnectivityManager;
import android.net.LinkProperties;
import android.net.NetworkAgent;
import android.net.NetworkCapabilities;
@@ -217,7 +219,7 @@ public class VcnGatewayConnectionConnectedStateTest extends VcnGatewayConnection
                        ncCaptor.capture(),
                        lpCaptor.capture(),
                        anyInt(),
                        any(),
                        argThat(nac -> nac.getLegacyType() == ConnectivityManager.TYPE_MOBILE),
                        any(),
                        any(),
                        any());