diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-04-17 12:26:06 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-04-17 12:28:25 -0700 |
commit | a7ae77fdae69bcc6d6609d4639fed5d96e55eeaa (patch) | |
tree | 5021a8ffe6ceadb1e39fba775caccf5d18c1d22c /src/com/android/providers/downloads/DownloadProvider.java | |
parent | 9b606340a0b5b88436505651dbe3cdaf60117604 (diff) | |
download | android_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/DownloadProvider.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadProvider.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java index 4a3844f9..5fbe42a5 100644 --- a/src/com/android/providers/downloads/DownloadProvider.java +++ b/src/com/android/providers/downloads/DownloadProvider.java @@ -63,7 +63,7 @@ public final class DownloadProvider extends ContentProvider { /** Database filename */ private static final String DB_NAME = "downloads.db"; /** Current database version */ - private static final int DB_VERSION = 107; + private static final int DB_VERSION = 108; /** Name of table in the database */ private static final String DB_TABLE = "downloads"; @@ -308,6 +308,11 @@ public final class DownloadProvider extends ContentProvider { addColumn(db, DB_TABLE, Downloads.Impl.COLUMN_ERROR_MSG, "TEXT"); break; + case 108: + addColumn(db, DB_TABLE, Downloads.Impl.COLUMN_ALLOW_METERED, + "INTEGER NOT NULL DEFAULT 1"); + break; + default: throw new IllegalStateException("Don't know how to upgrade to " + version); } @@ -632,6 +637,7 @@ public final class DownloadProvider extends ContentProvider { if (isPublicApi) { copyInteger(Downloads.Impl.COLUMN_ALLOWED_NETWORK_TYPES, values, filteredValues); copyBoolean(Downloads.Impl.COLUMN_ALLOW_ROAMING, values, filteredValues); + copyBoolean(Downloads.Impl.COLUMN_ALLOW_METERED, values, filteredValues); } if (Constants.LOGVV) { @@ -767,6 +773,7 @@ public final class DownloadProvider extends ContentProvider { values.remove(Downloads.Impl.COLUMN_NOTIFICATION_PACKAGE); // checked later in insert() values.remove(Downloads.Impl.COLUMN_ALLOWED_NETWORK_TYPES); values.remove(Downloads.Impl.COLUMN_ALLOW_ROAMING); + values.remove(Downloads.Impl.COLUMN_ALLOW_METERED); values.remove(Downloads.Impl.COLUMN_IS_VISIBLE_IN_DOWNLOADS_UI); values.remove(Downloads.Impl.COLUMN_MEDIA_SCANNED); Iterator<Map.Entry<String, Object>> iterator = values.valueSet().iterator(); |