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

Commit 29a6b4f4 authored by Chiachang Wang's avatar Chiachang Wang
Browse files

Merge "Update state in NetworkInfo when network resumes" am: a853d2dc

Change-Id: I26e4b318f7acacde38ee5cf0977fd63fc5567d79
parents dfb6a0fd a853d2dc
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -6898,6 +6898,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
            // worry about multiple different substates of CONNECTED.
            // worry about multiple different substates of CONNECTED.
            newInfo.setDetailedState(NetworkInfo.DetailedState.SUSPENDED, info.getReason(),
            newInfo.setDetailedState(NetworkInfo.DetailedState.SUSPENDED, info.getReason(),
                    info.getExtraInfo());
                    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));
        newInfo.setRoaming(!nai.networkCapabilities.hasCapability(NET_CAPABILITY_NOT_ROAMING));
        return newInfo;
        return newInfo;
+2 −0
Original line number Original line Diff line number Diff line
@@ -3171,6 +3171,7 @@ public class ConnectivityServiceTest {
                mCellNetworkAgent);
                mCellNetworkAgent);
        cellNetworkCallback.expectCallback(CallbackEntry.SUSPENDED, mCellNetworkAgent);
        cellNetworkCallback.expectCallback(CallbackEntry.SUSPENDED, mCellNetworkAgent);
        cellNetworkCallback.assertNoCallback();
        cellNetworkCallback.assertNoCallback();
        assertEquals(NetworkInfo.State.SUSPENDED, mCm.getActiveNetworkInfo().getState());


        // Register a garden variety default network request.
        // Register a garden variety default network request.
        TestNetworkCallback dfltNetworkCallback = new TestNetworkCallback();
        TestNetworkCallback dfltNetworkCallback = new TestNetworkCallback();
@@ -3186,6 +3187,7 @@ public class ConnectivityServiceTest {
                mCellNetworkAgent);
                mCellNetworkAgent);
        cellNetworkCallback.expectCallback(CallbackEntry.RESUMED, mCellNetworkAgent);
        cellNetworkCallback.expectCallback(CallbackEntry.RESUMED, mCellNetworkAgent);
        cellNetworkCallback.assertNoCallback();
        cellNetworkCallback.assertNoCallback();
        assertEquals(NetworkInfo.State.CONNECTED, mCm.getActiveNetworkInfo().getState());


        dfltNetworkCallback = new TestNetworkCallback();
        dfltNetworkCallback = new TestNetworkCallback();
        mCm.registerDefaultNetworkCallback(dfltNetworkCallback);
        mCm.registerDefaultNetworkCallback(dfltNetworkCallback);