Merge "Interface support for custom HTTP headers in DL manager" into gingerbread
This commit is contained in:
@@ -350,8 +350,7 @@ public class DownloadManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!mRequestHeaders.isEmpty()) {
|
if (!mRequestHeaders.isEmpty()) {
|
||||||
// TODO request headers support
|
encodeHttpHeaders(values);
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
putIfNonNull(values, Downloads.COLUMN_TITLE, mTitle);
|
putIfNonNull(values, Downloads.COLUMN_TITLE, mTitle);
|
||||||
@@ -367,6 +366,15 @@ public class DownloadManager {
|
|||||||
return values;
|
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) {
|
private void putIfNonNull(ContentValues contentValues, String key, String value) {
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
contentValues.put(key, value);
|
contentValues.put(key, value);
|
||||||
|
|||||||
@@ -1115,5 +1115,26 @@ public final class Downloads {
|
|||||||
* This download doesn't show in the UI or in the notifications.
|
* This download doesn't show in the UI or in the notifications.
|
||||||
*/
|
*/
|
||||||
public static final int VISIBILITY_HIDDEN = 2;
|
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_";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user