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

Commit cb3f3942 authored by Sarah Chin's avatar Sarah Chin
Browse files

Update internet data state when capabilities change

When network capabilities change for a data network with INTERNET
capabilities, reevaluate the internet data state. Other capabilities
that might change isInternetSupported (ie. NOT_RESTRICTED) could have
changed, which could affect the internet data state.

Test: atest DataNetworkControllerTest
Bug: 246845511
Change-Id: Ibeccad57760d1e1b7b25ef5c95e070b561b151ba
parent fa83ab2a
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -3172,6 +3172,12 @@ public class DataNetworkController extends Handler {
            log("Found more network requests that can be satisfied. " + networkRequestList);
            dataNetwork.attachNetworkRequests(networkRequestList);
        }

        if (dataNetwork.getNetworkCapabilities().hasCapability(
                NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
            // Update because DataNetwork#isInternetSupported might have changed with capabilities.
            updateOverallInternetDataState();
        }
    }

    /**
@@ -3322,9 +3328,9 @@ public class DataNetworkController extends Handler {
    }

    /**
     * Update the internet data network state. For now only {@link TelephonyManager#DATA_CONNECTED}
     * , {@link TelephonyManager#DATA_SUSPENDED}, and
     * {@link TelephonyManager#DATA_DISCONNECTED} are supported.
     * Update the internet data network state. For now only {@link TelephonyManager#DATA_CONNECTED},
     * {@link TelephonyManager#DATA_SUSPENDED}, and {@link TelephonyManager#DATA_DISCONNECTED}
     * are supported.
     */
    private void updateOverallInternetDataState() {
        boolean anyInternetConnected = mDataNetworkList.stream()
@@ -3592,8 +3598,8 @@ public class DataNetworkController extends Handler {

    /**
     * Get the internet data network state. Note that this is the best effort if more than one
     * data network supports internet. For now only {@link TelephonyManager#DATA_CONNECTED}
     * , {@link TelephonyManager#DATA_SUSPENDED}, and {@link TelephonyManager#DATA_DISCONNECTED}
     * data network supports internet. For now only {@link TelephonyManager#DATA_CONNECTED},
     * {@link TelephonyManager#DATA_SUSPENDED}, and {@link TelephonyManager#DATA_DISCONNECTED}
     * are supported.
     *
     * @return The data network state.