From 9f8773c32ed0791bbd8e677a5401095c53220184 Mon Sep 17 00:00:00 2001 From: Cody Kesting Date: Wed, 18 Mar 2020 15:22:12 -0700 Subject: [PATCH] Clean up handling of NetworkCapabilities#administratorUids. Update ConnectivityService's check for administrator UIDs to use ArrayUtils to check for UID inclusion. Update the NetworkCapabilities annotation on the administrator UIDs field to clarify that it is NonNull. Bug: 147903575 Test: atest FrameworksNetTests Change-Id: Id630fe9d76aacdaf038fdaa5360f0327520ee0c3 Merged-In: Id630fe9d76aacdaf038fdaa5360f0327520ee0c3 (cherry picked from commit 898496365aa1f3601cdbb305004ad0de11ff6bfc) --- core/java/android/net/NetworkCapabilities.java | 2 +- .../core/java/com/android/server/ConnectivityService.java | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java index 91ef911ef2..4e4ff4a63a 100644 --- a/core/java/android/net/NetworkCapabilities.java +++ b/core/java/android/net/NetworkCapabilities.java @@ -920,7 +920,7 @@ public final class NetworkCapabilities implements Parcelable { * empty unless the destination is 1) the System Server, or 2) Telephony. In either case, the * receiving entity must have the ACCESS_FINE_LOCATION permission and target R+. */ - private int[] mAdministratorUids = new int[0]; + @NonNull private int[] mAdministratorUids = new int[0]; /** * Sets the int[] of UIDs that are administrators of this network. diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 5d350be5b0..d684f0c199 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -7992,11 +7992,7 @@ public class ConnectivityService extends IConnectivityManager.Stub // Administrator UIDs also contains the Owner UID final int[] administratorUids = nai.networkCapabilities.getAdministratorUids(); - for (final int uid : administratorUids) { - if (uid == callbackUid) return true; - } - - return false; + return ArrayUtils.contains(administratorUids, callbackUid); } @Override