summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadInfo.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-04-17 12:26:06 -0700
committerJeff Sharkey <jsharkey@android.com>2012-04-17 12:28:25 -0700
commita7ae77fdae69bcc6d6609d4639fed5d96e55eeaa (patch)
tree5021a8ffe6ceadb1e39fba775caccf5d18c1d22c /src/com/android/providers/downloads/DownloadInfo.java
parent9b606340a0b5b88436505651dbe3cdaf60117604 (diff)
downloadandroid_packages_providers_DownloadProvider-a7ae77fdae69bcc6d6609d4639fed5d96e55eeaa.tar.gz
android_packages_providers_DownloadProvider-a7ae77fdae69bcc6d6609d4639fed5d96e55eeaa.tar.bz2
android_packages_providers_DownloadProvider-a7ae77fdae69bcc6d6609d4639fed5d96e55eeaa.zip
Add and enforce ALLOW_METERED column.
Include flag with each download to indicate if its allowed to proceed over metered networks. Downloads are left in WAITING_FOR_NETWORK state, similar to how ALLOWED_NETWORK_TYPES is handled. Also keep blocked downloads in WAITING_FOR_NETWORK state instead of marking them as failed. Bug: 3001465, 5734560 Change-Id: I80bb9aa9bd25ddf6f7a2472db344b6ba6878bd74
Diffstat (limited to 'src/com/android/providers/downloads/DownloadInfo.java')
-rw-r--r--src/com/android/providers/downloads/DownloadInfo.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/DownloadInfo.java b/src/com/android/providers/downloads/DownloadInfo.java
index 1e670e12..28adfbdf 100644
--- a/src/com/android/providers/downloads/DownloadInfo.java
+++ b/src/com/android/providers/downloads/DownloadInfo.java
@@ -92,6 +92,7 @@ public class DownloadInfo {
info.mIsPublicApi = getInt(Downloads.Impl.COLUMN_IS_PUBLIC_API) != 0;
info.mAllowedNetworkTypes = getInt(Downloads.Impl.COLUMN_ALLOWED_NETWORK_TYPES);
info.mAllowRoaming = getInt(Downloads.Impl.COLUMN_ALLOW_ROAMING) != 0;
+ info.mAllowMetered = getInt(Downloads.Impl.COLUMN_ALLOW_METERED) != 0;
info.mTitle = getString(Downloads.Impl.COLUMN_TITLE);
info.mDescription = getString(Downloads.Impl.COLUMN_DESCRIPTION);
info.mBypassRecommendedSizeLimit =
@@ -221,6 +222,7 @@ public class DownloadInfo {
public boolean mIsPublicApi;
public int mAllowedNetworkTypes;
public boolean mAllowRoaming;
+ public boolean mAllowMetered;
public String mTitle;
public String mDescription;
public int mBypassRecommendedSizeLimit;
@@ -352,6 +354,9 @@ public class DownloadInfo {
if (!isRoamingAllowed() && mSystemFacade.isNetworkRoaming()) {
return NETWORK_CANNOT_USE_ROAMING;
}
+ if (!mAllowMetered && mSystemFacade.isActiveNetworkMetered()) {
+ return NETWORK_TYPE_DISALLOWED_BY_REQUESTOR;
+ }
return checkIsNetworkTypeAllowed(info.getType());
}
@@ -518,6 +523,7 @@ public class DownloadInfo {
pw.printPair("mAllowedNetworkTypes", mAllowedNetworkTypes);
pw.printPair("mAllowRoaming", mAllowRoaming);
+ pw.printPair("mAllowMetered", mAllowMetered);
pw.println();
pw.decreaseIndent();