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

Commit 21c9ea90 authored by Sarah Chin's avatar Sarah Chin Committed by Jack Yu
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
Merged-In: Ibeccad57760d1e1b7b25ef5c95e070b561b151ba
Change-Id: Ibeccad57760d1e1b7b25ef5c95e070b561b151ba
parent 836658dd
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -3168,6 +3168,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();
        }
    }

    /**
@@ -3318,9 +3324,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()
@@ -3588,8 +3594,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.