Browse Source

SubtitleDownload: enable without storage access

Fixes #2365
merge-requests/1287/head
Duncan McNamara 5 years ago
committed by Nicolas Pomepuy
parent
commit
d317d49dac
  1. 6
      application/vlc-android/src/org/videolan/vlc/media/MediaUtils.kt
  2. 3
      application/vlc-android/src/org/videolan/vlc/util/VLCDownloadManager.kt

6
application/vlc-android/src/org/videolan/vlc/media/MediaUtils.kt

@ -69,11 +69,7 @@ object MediaUtils {
fun getSubs(activity: FragmentActivity, media: MediaWrapper) = getSubs(activity, listOf(media))
fun showSubtitleDownloaderDialogFragment(activity: FragmentActivity, mediaUris: List<Uri>, mediaTitles:List<String>) {
val callBack = java.lang.Runnable {
SubtitleDownloaderDialogFragment.newInstance(mediaUris, mediaTitles).show(activity.supportFragmentManager, "Subtitle_downloader")
}
if (Permissions.canWriteStorage()) callBack.run()
else Permissions.askWriteStoragePermission(activity, false, callBack)
SubtitleDownloaderDialogFragment.newInstance(mediaUris, mediaTitles).show(activity.supportFragmentManager, "Subtitle_downloader")
}

3
application/vlc-android/src/org/videolan/vlc/util/VLCDownloadManager.kt

@ -68,8 +68,7 @@ object VLCDownloadManager: BroadcastReceiver(), LifecycleObserver {
val request = DownloadManager.Request(subtitleItem.zipDownloadLink.toUri())
request.setDescription(subtitleItem.movieReleaseName)
request.setTitle(context.resources.getString(R.string.download_subtitle_title))
request.setVisibleInDownloadsUi(false)
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, getDownloadPath(subtitleItem))
request.setDestinationInExternalFilesDir(context, getDownloadPath(subtitleItem), "")
val id = downloadManager.enqueue(request)
val deferred = CompletableDeferred<SubDlResult>().also { dlDeferred = it }
ExternalSubRepository.getInstance(context.applicationContext).addDownloadingItem(id, subtitleItem)

Loading…
Cancel
Save