summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2013-09-23 21:28:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-09-23 21:28:07 +0000
commit0156a379e21621d2724635eb96f37a81efc7be06 (patch)
tree0a0060329d21bd579978d8815792b2e04447c863 /core/java
parent85f77c2b8b46a52544ab9305a8c4cf9a36923013 (diff)
parentb180a65d41adc731cbff1536c7ede15174bc08e1 (diff)
downloadframeworks_base-0156a379e21621d2724635eb96f37a81efc7be06.zip
frameworks_base-0156a379e21621d2724635eb96f37a81efc7be06.tar.gz
frameworks_base-0156a379e21621d2724635eb96f37a81efc7be06.tar.bz2
Merge "Allow saving to Downloads." into klp-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/app/DownloadManager.java20
-rw-r--r--core/java/android/provider/Downloads.java2
2 files changed, 21 insertions, 1 deletions
diff --git a/core/java/android/app/DownloadManager.java b/core/java/android/app/DownloadManager.java
index 165c3db..800ead9 100644
--- a/core/java/android/app/DownloadManager.java
+++ b/core/java/android/app/DownloadManager.java
@@ -150,6 +150,11 @@ public class DownloadManager {
public static final String COLUMN_MEDIAPROVIDER_URI = Downloads.Impl.COLUMN_MEDIAPROVIDER_URI;
/**
+ * @hide
+ */
+ public final static String COLUMN_ALLOW_WRITE = Downloads.Impl.COLUMN_ALLOW_WRITE;
+
+ /**
* Value of {@link #COLUMN_STATUS} when the download is waiting to start.
*/
public final static int STATUS_PENDING = 1 << 0;
@@ -315,6 +320,7 @@ public class DownloadManager {
Downloads.Impl.COLUMN_TOTAL_BYTES + " AS " + COLUMN_TOTAL_SIZE_BYTES,
Downloads.Impl.COLUMN_LAST_MODIFICATION + " AS " + COLUMN_LAST_MODIFIED_TIMESTAMP,
Downloads.Impl.COLUMN_CURRENT_BYTES + " AS " + COLUMN_BYTES_DOWNLOADED_SO_FAR,
+ Downloads.Impl.COLUMN_ALLOW_WRITE,
/* add the following 'computed' columns to the cursor.
* they are not 'returned' by the database, but their inclusion
* eliminates need to have lot of methods in CursorTranslator
@@ -1185,6 +1191,14 @@ public class DownloadManager {
public long addCompletedDownload(String title, String description,
boolean isMediaScannerScannable, String mimeType, String path, long length,
boolean showNotification) {
+ return addCompletedDownload(title, description, isMediaScannerScannable, mimeType, path,
+ length, showNotification, false);
+ }
+
+ /** {@hide} */
+ public long addCompletedDownload(String title, String description,
+ boolean isMediaScannerScannable, String mimeType, String path, long length,
+ boolean showNotification, boolean allowWrite) {
// make sure the input args are non-null/non-zero
validateArgumentIsNonEmpty("title", title);
validateArgumentIsNonEmpty("description", description);
@@ -1210,12 +1224,14 @@ public class DownloadManager {
Request.SCANNABLE_VALUE_NO);
values.put(Downloads.Impl.COLUMN_VISIBILITY, (showNotification) ?
Request.VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION : Request.VISIBILITY_HIDDEN);
+ values.put(Downloads.Impl.COLUMN_ALLOW_WRITE, allowWrite ? 1 : 0);
Uri downloadUri = mResolver.insert(Downloads.Impl.CONTENT_URI, values);
if (downloadUri == null) {
return -1;
}
return Long.parseLong(downloadUri.getLastPathSegment());
}
+
private static final String NON_DOWNLOADMANAGER_DOWNLOAD =
"non-dwnldmngr-download-dont-retry2download";
@@ -1227,8 +1243,10 @@ public class DownloadManager {
/**
* Get the DownloadProvider URI for the download with the given ID.
+ *
+ * @hide
*/
- Uri getDownloadUri(long id) {
+ public Uri getDownloadUri(long id) {
return ContentUris.withAppendedId(mBaseUri, id);
}
diff --git a/core/java/android/provider/Downloads.java b/core/java/android/provider/Downloads.java
index 9999760..b2d9b93 100644
--- a/core/java/android/provider/Downloads.java
+++ b/core/java/android/provider/Downloads.java
@@ -410,6 +410,8 @@ public final class Downloads {
/** The column that is used to count retries */
public static final String COLUMN_FAILED_CONNECTIONS = "numfailed";
+ public static final String COLUMN_ALLOW_WRITE = "allow_write";
+
/**
* default value for {@link #COLUMN_LAST_UPDATESRC}.
* This value is used when this column's value is not relevant.