summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorSteve Howard <showard@google.com>2010-07-15 12:24:14 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-07-15 12:24:14 -0700
commitd6343c26b8580f61a257a3045bfa124049201116 (patch)
tree9073321ed55d9afb454e490f43fd88c7492f9956 /core/java
parent5352d2378d2f92ebe0657e4caedb4498492fc404 (diff)
parentea9147df00ee6e098cd02d901424ae5a4fe0fafd (diff)
downloadframeworks_base-d6343c26b8580f61a257a3045bfa124049201116.zip
frameworks_base-d6343c26b8580f61a257a3045bfa124049201116.tar.gz
frameworks_base-d6343c26b8580f61a257a3045bfa124049201116.tar.bz2
Merge "Interface support for custom HTTP headers in DL manager" into gingerbread
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/net/DownloadManager.java12
-rw-r--r--core/java/android/provider/Downloads.java21
2 files changed, 31 insertions, 2 deletions
diff --git a/core/java/android/net/DownloadManager.java b/core/java/android/net/DownloadManager.java
index 02b6210..00b6864 100644
--- a/core/java/android/net/DownloadManager.java
+++ b/core/java/android/net/DownloadManager.java
@@ -350,8 +350,7 @@ public class DownloadManager {
}
if (!mRequestHeaders.isEmpty()) {
- // TODO request headers support
- throw new UnsupportedOperationException();
+ encodeHttpHeaders(values);
}
putIfNonNull(values, Downloads.COLUMN_TITLE, mTitle);
@@ -367,6 +366,15 @@ public class DownloadManager {
return values;
}
+ private void encodeHttpHeaders(ContentValues values) {
+ int index = 0;
+ for (Map.Entry<String, String> entry : mRequestHeaders.entrySet()) {
+ String headerString = entry.getKey() + ": " + entry.getValue();
+ values.put(Downloads.Impl.RequestHeaders.INSERT_KEY_PREFIX + index, headerString);
+ index++;
+ }
+ }
+
private void putIfNonNull(ContentValues contentValues, String key, String value) {
if (value != null) {
contentValues.put(key, value);
diff --git a/core/java/android/provider/Downloads.java b/core/java/android/provider/Downloads.java
index 1a4f8c0..2a612fe 100644
--- a/core/java/android/provider/Downloads.java
+++ b/core/java/android/provider/Downloads.java
@@ -1115,5 +1115,26 @@ public final class Downloads {
* This download doesn't show in the UI or in the notifications.
*/
public static final int VISIBILITY_HIDDEN = 2;
+
+ /**
+ * Constants related to HTTP request headers associated with each download.
+ */
+ public static class RequestHeaders {
+ public static final String HEADERS_DB_TABLE = "request_headers";
+ public static final String COLUMN_DOWNLOAD_ID = "download_id";
+ public static final String COLUMN_HEADER = "header";
+ public static final String COLUMN_VALUE = "value";
+
+ /**
+ * Path segment to add to a download URI to retrieve request headers
+ */
+ public static final String URI_SEGMENT = "headers";
+
+ /**
+ * Prefix for ContentValues keys that contain HTTP header lines, to be passed to
+ * DownloadProvider.insert().
+ */
+ public static final String INSERT_KEY_PREFIX = "http_header_";
+ }
}
}