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

Commit 44ce9691 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities"...

Merge "Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" am: b35719a0 am: 2f9fd9df am: f2ac860b am: cd7393c6 am: d1e7fc23"
parents 51d5c4e3 337f94ff
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -770,7 +770,6 @@ public final class NetworkCapabilities implements Parcelable {


        StringJoiner joiner = new StringJoiner(", ");
        StringJoiner joiner = new StringJoiner(", ");


        // TODO: consider only enforcing that capabilities are not removed, allowing addition.
        // Ignore NOT_METERED being added or removed as it is effectively dynamic. http://b/63326103
        // Ignore NOT_METERED being added or removed as it is effectively dynamic. http://b/63326103
        // TODO: properly support NOT_METERED as a mutable and requestable capability.
        // TODO: properly support NOT_METERED as a mutable and requestable capability.
        final long mask = ~MUTABLE_CAPABILITIES & ~(1 << NET_CAPABILITY_NOT_METERED);
        final long mask = ~MUTABLE_CAPABILITIES & ~(1 << NET_CAPABILITY_NOT_METERED);
+7 −3
Original line number Original line Diff line number Diff line
@@ -4582,11 +4582,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
     */
     */
    private void updateCapabilities(
    private void updateCapabilities(
            int oldScore, NetworkAgentInfo nai, NetworkCapabilities networkCapabilities) {
            int oldScore, NetworkAgentInfo nai, NetworkCapabilities networkCapabilities) {
        // Sanity check: a NetworkAgent should not change its static capabilities or parameters.
        // Once a NetworkAgent is connected, complain if some immutable capabilities are removed.
        if (nai.everConnected) {
        if (nai.everConnected &&
                !nai.networkCapabilities.satisfiedByNetworkCapabilities(networkCapabilities)) {
            // TODO: consider not complaining when a network agent degrade its capabilities if this
            // does not cause any request (that is not a listen) currently matching that agent to
            // stop being matched by the updated agent.
            String diff = nai.networkCapabilities.describeImmutableDifferences(networkCapabilities);
            String diff = nai.networkCapabilities.describeImmutableDifferences(networkCapabilities);
            if (!TextUtils.isEmpty(diff)) {
            if (!TextUtils.isEmpty(diff)) {
                Slog.wtf(TAG, "BUG: " + nai + " changed immutable capabilities:" + diff);
                Slog.wtf(TAG, "BUG: " + nai + " lost immutable capabilities:" + diff);
            }
            }
        }
        }