summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-07-20 00:31:37 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-07-20 00:31:37 +0000
commit971bdbf39c447e3b6afdbf51db32ef00ed933e0c (patch)
tree5d2dddfa4a56a694b4943f0fae767bb58b99d5c7
parent1e911e09f1698e9ee459676e8422412157ca63bd (diff)
parent33c105be74097aa4a758813a6aea1dd95482ec55 (diff)
downloadandroid_packages_providers_DownloadProvider-971bdbf39c447e3b6afdbf51db32ef00ed933e0c.tar.gz
android_packages_providers_DownloadProvider-971bdbf39c447e3b6afdbf51db32ef00ed933e0c.tar.bz2
android_packages_providers_DownloadProvider-971bdbf39c447e3b6afdbf51db32ef00ed933e0c.zip
Merge cherrypicks of [4586293, 4586294, 4586295, 4584365, 4584366, 4584367, 4584368, 4584369, 4584370, 4587544, 4584705, 4586296, 4587545, 4587546, 4586297, 4586298, 4586299, 4586300, 4584371, 4586301, 4584706, 4586302, 4586303, 4587584, 4587585, 4587586, 4587587, 4587588, 4587589, 4587590, 4587591, 4587644, 4587645, 4587646, 4587647, 4587648, 4587649, 4587650, 4587651, 4587652, 4587653, 4587654, 4587655, 4587656, 4587657, 4587658, 4587659, 4587660, 4587661, 4587662, 4584536, 4587547, 4587548, 4587549, 4584707, 4584708, 4587550, 4587551, 4587593, 4586516, 4584372, 4584373, 4584374, 4587595, 4584375, 4584376, 4587552, 4587596, 4587597, 4587598, 4587599, 4584414, 4584415, 4584416, 4584417, 4584418, 4584419, 4584420, 4584421, 4584422, 4584423, 4587804, 4587805, 4587806, 4587807, 4587808, 4587809, 4587810, 4587811, 4587812, 4587813, 4587814, 4587815, 4587816, 4587817, 4587818, 4587884, 4587885, 4587600, 4587601, 4587819, 4584709] into sparse-4749909-L91900000192339903
Change-Id: I9f08f8bf030ce2088ab84dd74b893b65996a8c0a
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java2
-rw-r--r--src/com/android/providers/downloads/RealSystemFacade.java6
-rw-r--r--src/com/android/providers/downloads/SystemFacade.java2
-rw-r--r--tests/src/com/android/providers/downloads/FakeSystemFacade.java5
4 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java
index 9c920053..d3ec568c 100644
--- a/src/com/android/providers/downloads/DownloadThread.java
+++ b/src/com/android/providers/downloads/DownloadThread.java
@@ -725,7 +725,7 @@ public class DownloadThread extends Thread {
if (info.isRoaming() && !mInfo.isRoamingAllowed()) {
throw new StopRequestException(STATUS_WAITING_FOR_NETWORK, "Network is roaming");
}
- if (mSystemFacade.isNetworkMetered(mNetwork)
+ if (mSystemFacade.isActiveNetworkMeteredForUid(mInfo.mUid)
&& !mInfo.isMeteredAllowed(mInfoDelta.mTotalBytes)) {
throw new StopRequestException(STATUS_WAITING_FOR_NETWORK, "Network is metered");
}
diff --git a/src/com/android/providers/downloads/RealSystemFacade.java b/src/com/android/providers/downloads/RealSystemFacade.java
index 1c2ba581..2d9b3a30 100644
--- a/src/com/android/providers/downloads/RealSystemFacade.java
+++ b/src/com/android/providers/downloads/RealSystemFacade.java
@@ -68,6 +68,12 @@ class RealSystemFacade implements SystemFacade {
}
@Override
+ public boolean isActiveNetworkMeteredForUid(int uid) {
+ return mContext.getSystemService(ConnectivityManager.class)
+ .isActiveNetworkMeteredForUid(uid);
+ }
+
+ @Override
public long getMaxBytesOverMobile() {
final Long value = DownloadManager.getMaxBytesOverMobile(mContext);
return (value == null) ? Long.MAX_VALUE : value;
diff --git a/src/com/android/providers/downloads/SystemFacade.java b/src/com/android/providers/downloads/SystemFacade.java
index 53d14041..dec0cb28 100644
--- a/src/com/android/providers/downloads/SystemFacade.java
+++ b/src/com/android/providers/downloads/SystemFacade.java
@@ -38,6 +38,8 @@ interface SystemFacade {
public boolean isNetworkMetered(Network network);
+ public boolean isActiveNetworkMeteredForUid(int uid);
+
/**
* @return maximum size, in bytes, of downloads that may go over a mobile connection; or null if
* there's no limit
diff --git a/tests/src/com/android/providers/downloads/FakeSystemFacade.java b/tests/src/com/android/providers/downloads/FakeSystemFacade.java
index de483c7f..aa7b8af4 100644
--- a/tests/src/com/android/providers/downloads/FakeSystemFacade.java
+++ b/tests/src/com/android/providers/downloads/FakeSystemFacade.java
@@ -102,6 +102,11 @@ public class FakeSystemFacade implements SystemFacade {
}
@Override
+ public boolean isActiveNetworkMeteredForUid(int uid) {
+ return mIsMetered;
+ }
+
+ @Override
public long getMaxBytesOverMobile() {
return mMaxBytesOverMobile;
}