Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +0 −5 Original line number Diff line number Diff line Loading @@ -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); Loading tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); Loading Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +0 −5 Original line number Diff line number Diff line Loading @@ -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); Loading
tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); Loading