summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorHugo Benichi <hugobenichi@google.com>2017-03-02 08:04:03 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-03-02 08:04:03 +0000
commit5983a772cbe08441e4eb1337fb3afa7267e9dfa5 (patch)
tree85550e2b2ca0ca6f54ebf6f1143c20263fec05e4 /core/java
parent01cfdb4f3ae025bde7d30b2a1b48ab873187a2d4 (diff)
parent06a192fa4929ab46c1cc20ea601cb33bb1deb6ba (diff)
Merge "ConnectivityManager: no double NetworkCallback registration"
am: 06a192fa49 Change-Id: I250fa7d3c5e37a66caa41cc898a44bcb18c9a0c4
Diffstat (limited to 'core/java')
-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) {