OSDN Git Service

Fix onBlockedStatusChanged does not work on multiple networks
authorjunyulai <junyulai@google.com>
Mon, 8 Apr 2019 08:58:22 +0000 (16:58 +0800)
committerjunyulai <junyulai@google.com>
Mon, 8 Apr 2019 09:15:52 +0000 (17:15 +0800)
There is a logic error in maybeNotifyNetworkBlockedForNewUidRules
that caused function to return if there is no status change in
the first network. This would cause CTS failed in devices which
has volte-enabled SIM inserted.

Bug: 129409153
Fix: 117969394
Test: 1. atest com.android.cts.net.HostsideNetworkCallbackTests \
         --generate-new-metrics 20
      2. atest FrameworksNetTests

Change-Id: Ifd18d1c6ad708c1dbc793f03d8241f572af50317

services/core/java/com/android/server/ConnectivityService.java

index 9d2965a..88955d7 100644 (file)
@@ -6554,7 +6554,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
                         uid, newRules, metered, mRestrictBackground);
             }
             if (oldBlocked == newBlocked) {
-                return;
+                continue;
             }
             final int arg = encodeBool(newBlocked);
             for (int i = 0; i < nai.numNetworkRequests(); i++) {