summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorHugo Benichi <hugobenichi@google.com>2017-03-02 08:08:01 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-03-02 08:08:01 +0000
commit974e83cc0b8947e645770acdc4ae356bf06b713a (patch)
tree84bd2149c2253b9f265f06aa01a37d0ce21ae1ed /core/java/android
parentb5d25274d7bbe08aa4b2cc253428bda2dff854bc (diff)
parent5983a772cbe08441e4eb1337fb3afa7267e9dfa5 (diff)
Merge "ConnectivityManager: no double NetworkCallback registration" am: 06a192fa49
am: 5983a772cb Change-Id: Ic36fbd67d92df0d9f70fe26d6aee92ee782bfb3c
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/net/ConnectivityManager.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index 0cef2801d4dc..73f281d03630 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -2891,11 +2891,14 @@ public class ConnectivityManager {
if (callback == null) {
throw new IllegalArgumentException("null NetworkCallback");
}
- if (need == null && action != REQUEST) {
+ if ((need == null) && (action != REQUEST)) {
throw new IllegalArgumentException("null NetworkCapabilities");
}
- // TODO: throw an exception if callback.networkRequest is not null.
- // http://b/20701525
+ final int targetSdk = mContext.getApplicationInfo().targetSdkVersion;
+ if ((targetSdk > VERSION_CODES.N_MR1) && (callback.networkRequest != null)) {
+ // http://b/20701525
+ throw new IllegalArgumentException("NetworkCallback already registered");
+ }
final NetworkRequest request;
try {
synchronized(sCallbacks) {