Kaartic has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/357020 )
Change subject: Changeed the download location of files ...................................................................... Changeed the download location of files Previously the location of the download was inside app directory. It was changed to a public directory to, - Allow users to easily access the downloaded files - Allow other media applications to identify the files Things that this commit introduces, - Corrected a variable name - Download files into a subdirectory that identifies the app - This is done to help the users who download multiple photos - Prevents the common "Pictures" folder from being cluttered up Bug: T166434 Change-Id: I6b97b47b9b7dac6e4d3b23a25dda2096b6f55fa3 --- M app/src/main/java/org/wikipedia/gallery/MediaDownloadReceiver.java 1 file changed, 21 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/20/357020/1 diff --git a/app/src/main/java/org/wikipedia/gallery/MediaDownloadReceiver.java b/app/src/main/java/org/wikipedia/gallery/MediaDownloadReceiver.java index f67f5fb..85fa628 100644 --- a/app/src/main/java/org/wikipedia/gallery/MediaDownloadReceiver.java +++ b/app/src/main/java/org/wikipedia/gallery/MediaDownloadReceiver.java @@ -18,6 +18,8 @@ import org.wikipedia.util.FeedbackUtil; import org.wikipedia.util.FileUtil; +import java.io.File; + public class MediaDownloadReceiver extends BroadcastReceiver { private static final String FILE_NAMESPACE = "File:"; @@ -31,30 +33,38 @@ public void download(@NonNull FeaturedImage featuredImage) { String filename = FileUtil.sanitizeFileName(featuredImage.title()); - String targetDirectory = Environment.DIRECTORY_PICTURES; - performDownloadRequest(featuredImage.image().source(), targetDirectory, filename, null); + String targetDirectoryType = Environment.DIRECTORY_PICTURES; + performDownloadRequest(featuredImage.image().source(), targetDirectoryType, filename, null); } public void download(@NonNull GalleryItem galleryItem) { String saveFilename = FileUtil.sanitizeFileName(trimFileNamespace(galleryItem.getName())); - String targetDirectory; + String targetDirectoryType; if (FileUtil.isVideo(galleryItem.getMimeType())) { - targetDirectory = Environment.DIRECTORY_MOVIES; + targetDirectoryType = Environment.DIRECTORY_MOVIES; } else if (FileUtil.isAudio(galleryItem.getMimeType())) { - targetDirectory = Environment.DIRECTORY_MUSIC; + targetDirectoryType = Environment.DIRECTORY_MUSIC; } else if (FileUtil.isImage(galleryItem.getMimeType())) { - targetDirectory = Environment.DIRECTORY_PICTURES; + targetDirectoryType = Environment.DIRECTORY_PICTURES; } else { - targetDirectory = Environment.DIRECTORY_DOWNLOADS; + targetDirectoryType = Environment.DIRECTORY_DOWNLOADS; } - performDownloadRequest(Uri.parse(galleryItem.getUrl()), targetDirectory, saveFilename, + performDownloadRequest(Uri.parse(galleryItem.getUrl()), targetDirectoryType, saveFilename, galleryItem.getMimeType()); } - private void performDownloadRequest(@NonNull Uri uri, @NonNull String targetDirectory, - @NonNull String filename, @Nullable String mimeType) { + private void performDownloadRequest(@NonNull Uri uri, @NonNull String targetDirectoryType, + @NonNull String fileName, @Nullable String mimeType) { + final String downloadSubFolderName = "Wikipedia"; + final File categoryFolder = Environment.getExternalStoragePublicDirectory(targetDirectoryType); + final File destinationFolder = new File(categoryFolder, downloadSubFolderName); + final File destinationFile = new File(destinationFolder, fileName); + + // creates a directory if it doesn't exists else it's harmless + destinationFolder.mkdir(); + DownloadManager.Request request = new DownloadManager.Request(uri); - request.setDestinationInExternalFilesDir(activity, targetDirectory, filename); + request.setDestinationUri(Uri.fromFile(destinationFile)); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); if (mimeType != null) { request.setMimeType(mimeType); -- To view, visit https://gerrit.wikimedia.org/r/357020 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6b97b47b9b7dac6e4d3b23a25dda2096b6f55fa3 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Kaartic <kaarticsivaraam91...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits