Loading core/java/android/net/DownloadManager.java +10 −2 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); Loading core/java/android/provider/Downloads.java +21 −0 Original line number Diff line number Diff line Loading @@ -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_"; } } } Loading
core/java/android/net/DownloadManager.java +10 −2 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); Loading
core/java/android/provider/Downloads.java +21 −0 Original line number Diff line number Diff line Loading @@ -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_"; } } }