diff options
| author | Benedict Wong <benedictwong@google.com> | 2018-05-30 23:00:13 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-05-30 23:00:13 +0000 |
| commit | 64c14793f7be91c8b080d2b7de455f193ca0ac5c (patch) | |
| tree | 835550f31fac101b367c26ae94b6921b52a9fd3c /core/java | |
| parent | 2d6209f71de8f88526f97526d40304eef626219a (diff) | |
| parent | 66bc52884b1009fca7917ae89e72e8aa40f394d1 (diff) | |
Merge changes from topic "vpn-meteredness" into oc-mr1-dev
* changes:
DO NOT MERGE: Add unit tests to ensure VPN meteredness
DO NOT MERGE: Fix ConnectivityController meteredness checks
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/net/ConnectivityManager.java | 22 | ||||
| -rw-r--r-- | core/java/android/net/IConnectivityManager.aidl | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index d7ecc81ffdba..467eb9b0b0bf 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -2505,6 +2505,28 @@ public class ConnectivityManager { } /** + * Returns if the active data network for the given UID is metered. A network + * is classified as metered when the user is sensitive to heavy data usage on + * that connection due to monetary costs, data limitations or + * battery/performance issues. You should check this before doing large + * data transfers, and warn the user or delay the operation until another + * network is available. + * + * @return {@code true} if large transfers should be avoided, otherwise + * {@code false}. + * + * @hide + */ + @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) + public boolean isActiveNetworkMeteredForUid(int uid) { + try { + return mService.isActiveNetworkMeteredForUid(uid); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** * If the LockdownVpn mechanism is enabled, updates the vpn * with a reload of its profile. * diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl index a6fe7389bc72..f11372c2b31c 100644 --- a/core/java/android/net/IConnectivityManager.aidl +++ b/core/java/android/net/IConnectivityManager.aidl @@ -66,6 +66,7 @@ interface IConnectivityManager NetworkQuotaInfo getActiveNetworkQuotaInfo(); boolean isActiveNetworkMetered(); + boolean isActiveNetworkMeteredForUid(int uid); boolean requestRouteToHostAddress(int networkType, in byte[] hostAddress); |
