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

Commit 5c75e87a authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 7566245 from 3024bd90 to sc-v2-release

Change-Id: Ic4c76d79dce0415146082c3dfbf2af1c9ef5148a
parents 580f3106 3024bd90
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -2919,11 +2919,6 @@ public class DataConnection extends StateMachine {

                mDisabledApnTypeBitMask |= getDisallowedApnTypes();
                updateLinkPropertiesHttpProxy();
                // The suspended state is only meaningful when data is in active state. We need to
                // make sure the suspended state is correct as soon as we enter active state.
                // After this, the network agent will be created with the correct suspended state
                // (i.e. NOT_SUSPENDED capability).
                updateSuspendState();
                mNetworkAgent = new DcNetworkAgent(DataConnection.this, mPhone, mScore,
                        configBuilder.build(), provider, mTransportType);

+25 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

@@ -46,6 +47,7 @@ import android.net.KeepalivePacketData;
import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.NattKeepalivePacketData;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.os.AsyncResult;
import android.os.Handler;
@@ -1320,6 +1322,29 @@ public class DataConnectionTest extends TelephonyTest {
        assertTrue(isSuspended());
    }

    @Test
    public void testDataCreatedWhenOutOfService() throws Exception {
        serviceStateChangedEvent(ServiceState.STATE_OUT_OF_SERVICE,
                ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN);
        ArgumentCaptor<NetworkCapabilities> ncCaptor =
                ArgumentCaptor.forClass(NetworkCapabilities.class);
        doReturn(mock(Network.class)).when(mConnectivityManager).registerNetworkAgent(
                any(), any(), any(), ncCaptor.capture(), any(), any(), anyInt());

        doReturn(mApn1).when(mApnContext).getApnSetting();
        doReturn(ApnSetting.TYPE_DEFAULT).when(mApnContext).getApnTypeBitmask();
        doReturn(true).when(mSST).isConcurrentVoiceAndDataAllowed();
        connectEvent(true);
        waitForMs(100);

        NetworkCapabilities nc = ncCaptor.getValue();
        // The network must be created with NOT_SUSPENDED capability.
        assertTrue(nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED));

        // But it's final state must be suspended.
        assertTrue(isSuspended());
    }

    @Test
    public void testDataServiceTempUnavailable() throws Exception {
        setFailedSetupDataResponse(DataServiceCallback.RESULT_ERROR_TEMPORARILY_UNAVAILABLE);