From f2c1cfe4c5dec5041dfee00bd2dd1e3e1ecc0aea Mon Sep 17 00:00:00 2001 From: Paul Jensen Date: Tue, 30 Jun 2015 14:29:18 -0400 Subject: [PATCH] Add ConnectivityManager.unregisterNetworkCallback(PendingIntent) API This better pairs up with registerNetworkCallback(NetworkRequest, PendingIntent). Bug:22175708 Change-Id: I336df3f48a0b814f1cbeba6d00afc4e6cc536483 --- api/current.txt | 1 + api/system-current.txt | 1 + core/java/android/net/ConnectivityManager.java | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/api/current.txt b/api/current.txt index 3cb38c4873299..b7d1f12e2b0f3 100644 --- a/api/current.txt +++ b/api/current.txt @@ -18147,6 +18147,7 @@ package android.net { method public deprecated void setNetworkPreference(int); method public static deprecated boolean setProcessDefaultNetwork(android.net.Network); method public void unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback); + method public void unregisterNetworkCallback(android.app.PendingIntent); field public static final deprecated java.lang.String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED"; field public static final java.lang.String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL"; field public static final java.lang.String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; diff --git a/api/system-current.txt b/api/system-current.txt index 9e6ae81b4166b..d4e9ef4d8f0c2 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -19662,6 +19662,7 @@ package android.net { method public deprecated void setNetworkPreference(int); method public static deprecated boolean setProcessDefaultNetwork(android.net.Network); method public void unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback); + method public void unregisterNetworkCallback(android.app.PendingIntent); field public static final deprecated java.lang.String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED"; field public static final java.lang.String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL"; field public static final java.lang.String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 80476ea6d8443..12cd5f1721915 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -2565,7 +2565,7 @@ public class ConnectivityManager { * replaced by this one, effectively releasing the previous {@link NetworkRequest}. *

* The request may be released normally by calling - * {@link #releaseNetworkRequest(android.app.PendingIntent)}. + * {@link #unregisterNetworkCallback(android.app.PendingIntent)}. *

This method requires the caller to hold the permission * {@link android.Manifest.permission#ACCESS_NETWORK_STATE}. * @param request {@link NetworkRequest} describing this request. @@ -2618,6 +2618,19 @@ public class ConnectivityManager { } catch (RemoteException e) {} } + /** + * Unregisters a callback previously registered via + * {@link #registerNetworkCallback(NetworkRequest, android.app.PendingIntent)}. + * + * @param operation A PendingIntent equal (as defined by {@link Intent#filterEquals}) to the + * PendingIntent passed to + * {@link #registerNetworkCallback(NetworkRequest, android.app.PendingIntent)}. + * Cannot be null. + */ + public void unregisterNetworkCallback(PendingIntent operation) { + releaseNetworkRequest(operation); + } + /** * Informs the system whether it should switch to {@code network} regardless of whether it is * validated or not. If {@code accept} is true, and the network was explicitly selected by the