Loading services/core/java/com/android/server/ConnectivityService.java +9 −0 Original line number Diff line number Diff line Loading @@ -6907,6 +6907,15 @@ public class ConnectivityService extends IConnectivityManager.Stub // worry about multiple different substates of CONNECTED. newInfo.setDetailedState(NetworkInfo.DetailedState.SUSPENDED, info.getReason(), info.getExtraInfo()); } else if (!suspended && info.getDetailedState() == NetworkInfo.DetailedState.SUSPENDED) { // SUSPENDED state is currently only overridden from CONNECTED state. In the case the // network agent is created, then goes to suspended, then goes out of suspended without // ever setting connected. Check if network agent is ever connected to update the state. newInfo.setDetailedState(nai.everConnected ? NetworkInfo.DetailedState.CONNECTED : NetworkInfo.DetailedState.CONNECTING, info.getReason(), info.getExtraInfo()); } newInfo.setRoaming(!nai.networkCapabilities.hasCapability(NET_CAPABILITY_NOT_ROAMING)); return newInfo; Loading tests/net/java/com/android/server/ConnectivityServiceTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -3154,6 +3154,7 @@ public class ConnectivityServiceTest { mCellNetworkAgent); cellNetworkCallback.expectCallback(CallbackEntry.SUSPENDED, mCellNetworkAgent); cellNetworkCallback.assertNoCallback(); assertEquals(NetworkInfo.State.SUSPENDED, mCm.getActiveNetworkInfo().getState()); // Register a garden variety default network request. TestNetworkCallback dfltNetworkCallback = new TestNetworkCallback(); Loading @@ -3169,6 +3170,7 @@ public class ConnectivityServiceTest { mCellNetworkAgent); cellNetworkCallback.expectCallback(CallbackEntry.RESUMED, mCellNetworkAgent); cellNetworkCallback.assertNoCallback(); assertEquals(NetworkInfo.State.CONNECTED, mCm.getActiveNetworkInfo().getState()); dfltNetworkCallback = new TestNetworkCallback(); mCm.registerDefaultNetworkCallback(dfltNetworkCallback); Loading Loading
services/core/java/com/android/server/ConnectivityService.java +9 −0 Original line number Diff line number Diff line Loading @@ -6907,6 +6907,15 @@ public class ConnectivityService extends IConnectivityManager.Stub // worry about multiple different substates of CONNECTED. newInfo.setDetailedState(NetworkInfo.DetailedState.SUSPENDED, info.getReason(), info.getExtraInfo()); } else if (!suspended && info.getDetailedState() == NetworkInfo.DetailedState.SUSPENDED) { // SUSPENDED state is currently only overridden from CONNECTED state. In the case the // network agent is created, then goes to suspended, then goes out of suspended without // ever setting connected. Check if network agent is ever connected to update the state. newInfo.setDetailedState(nai.everConnected ? NetworkInfo.DetailedState.CONNECTED : NetworkInfo.DetailedState.CONNECTING, info.getReason(), info.getExtraInfo()); } newInfo.setRoaming(!nai.networkCapabilities.hasCapability(NET_CAPABILITY_NOT_ROAMING)); return newInfo; Loading
tests/net/java/com/android/server/ConnectivityServiceTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -3154,6 +3154,7 @@ public class ConnectivityServiceTest { mCellNetworkAgent); cellNetworkCallback.expectCallback(CallbackEntry.SUSPENDED, mCellNetworkAgent); cellNetworkCallback.assertNoCallback(); assertEquals(NetworkInfo.State.SUSPENDED, mCm.getActiveNetworkInfo().getState()); // Register a garden variety default network request. TestNetworkCallback dfltNetworkCallback = new TestNetworkCallback(); Loading @@ -3169,6 +3170,7 @@ public class ConnectivityServiceTest { mCellNetworkAgent); cellNetworkCallback.expectCallback(CallbackEntry.RESUMED, mCellNetworkAgent); cellNetworkCallback.assertNoCallback(); assertEquals(NetworkInfo.State.CONNECTED, mCm.getActiveNetworkInfo().getState()); dfltNetworkCallback = new TestNetworkCallback(); mCm.registerDefaultNetworkCallback(dfltNetworkCallback); Loading