summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads
diff options
context:
space:
mode:
authorBen Lin <linben@google.com>2016-05-02 22:54:20 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-05-02 22:54:23 +0000
commit693eb2fb2f6b66999645b237ae5ef16c7329aaf6 (patch)
tree2027bdcf8cae8d1fa078029a4f844a5abb86d624 /src/com/android/providers/downloads
parentb3597b9d2fdde31bb0a8af821e3da3ca786e277b (diff)
parentb0e0dec8456b677251e6f97c3e1bec3622f4dec7 (diff)
downloadandroid_packages_providers_DownloadProvider-693eb2fb2f6b66999645b237ae5ef16c7329aaf6.tar.gz
android_packages_providers_DownloadProvider-693eb2fb2f6b66999645b237ae5ef16c7329aaf6.tar.bz2
android_packages_providers_DownloadProvider-693eb2fb2f6b66999645b237ae5ef16c7329aaf6.zip
Merge "Add ability to rename a downloaded file." into nyc-dev
Diffstat (limited to 'src/com/android/providers/downloads')
-rw-r--r--src/com/android/providers/downloads/DownloadStorageProvider.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/DownloadStorageProvider.java b/src/com/android/providers/downloads/DownloadStorageProvider.java
index bb782155..e0bb7cd1 100644
--- a/src/com/android/providers/downloads/DownloadStorageProvider.java
+++ b/src/com/android/providers/downloads/DownloadStorageProvider.java
@@ -155,6 +155,25 @@ public class DownloadStorageProvider extends DocumentsProvider {
}
@Override
+ public String renameDocument(String documentId, String displayName)
+ throws FileNotFoundException {
+ displayName = FileUtils.buildValidFatFilename(displayName);
+
+ final long token = Binder.clearCallingIdentity();
+ try {
+ final long id = Long.parseLong(documentId);
+
+ if (!mDm.rename(getContext(), id, displayName)) {
+ throw new IllegalStateException(
+ "Failed to rename to " + displayName + " in downloadsManager");
+ }
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
+ return null;
+ }
+
+ @Override
public Cursor queryDocument(String docId, String[] projection) throws FileNotFoundException {
if (mArchiveHelper.isArchivedDocument(docId)) {
return mArchiveHelper.queryDocument(docId, projection);
@@ -331,7 +350,7 @@ public class DownloadStorageProvider extends DocumentsProvider {
cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS));
switch (status) {
case DownloadManager.STATUS_SUCCESSFUL:
- extraFlags = 0; // only successful is non-partial
+ extraFlags = Document.FLAG_SUPPORTS_RENAME; // only successful is non-partial
break;
case DownloadManager.STATUS_PAUSED:
summary = getContext().getString(R.string.download_queued);