diff options
author | Ben Lin <linben@google.com> | 2016-04-27 11:45:01 -0700 |
---|---|---|
committer | Ben Lin <linben@google.com> | 2016-04-29 15:44:43 -0700 |
commit | b0e0dec8456b677251e6f97c3e1bec3622f4dec7 (patch) | |
tree | d2e7fd6e25e37745f281faa2c9f6c74340d4184c /src/com/android | |
parent | 3a5f5eafb34eaa4963c801882148e8f61514a61b (diff) | |
download | android_packages_providers_DownloadProvider-b0e0dec8456b677251e6f97c3e1bec3622f4dec7.tar.gz android_packages_providers_DownloadProvider-b0e0dec8456b677251e6f97c3e1bec3622f4dec7.tar.bz2 android_packages_providers_DownloadProvider-b0e0dec8456b677251e6f97c3e1bec3622f4dec7.zip |
Add ability to rename a downloaded file.
Bug: 28359663
Change-Id: Id74ab041717f553bbd81ab2f69b1b8fa0d4d230d
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/providers/downloads/DownloadStorageProvider.java | 21 |
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); |