diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-07-14 15:51:03 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-07-14 15:51:03 +0200 |
commit | 072222763bfc6ab167d88f9583ba364cdd6dcda9 (patch) | |
tree | 285679fb49a2b6230bbd529a5c9d1507fad2486b /src/de/danoeh/antennapod/storage/DownloadRequester.java | |
parent | 96d9421970c6b005da5c2b4667e2f52ebd7137d7 (diff) | |
download | AntennaPod-072222763bfc6ab167d88f9583ba364cdd6dcda9.zip |
Fixed crash when downloading media files of feed with invalid characters
in title
Diffstat (limited to 'src/de/danoeh/antennapod/storage/DownloadRequester.java')
-rw-r--r-- | src/de/danoeh/antennapod/storage/DownloadRequester.java | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/de/danoeh/antennapod/storage/DownloadRequester.java b/src/de/danoeh/antennapod/storage/DownloadRequester.java index 6aaabafaa..be4661063 100644 --- a/src/de/danoeh/antennapod/storage/DownloadRequester.java +++ b/src/de/danoeh/antennapod/storage/DownloadRequester.java @@ -24,7 +24,7 @@ import android.os.RemoteException; import android.content.Intent; import android.webkit.URLUtil; -public class DownloadRequester { +public class DownloadRequester {// TODO handle externalstorage missing private static final String TAG = "DownloadRequester"; private static final int currentApi = android.os.Build.VERSION.SDK_INT; @@ -32,7 +32,6 @@ public class DownloadRequester { public static String EXTRA_ITEM_ID = "extra.de.danoeh.antennapod.storage.item_id"; public static String ACTION_DOWNLOAD_QUEUED = "action.de.danoeh.antennapod.storage.downloadQueued"; - private static boolean STORE_ON_SD = true; public static String IMAGE_DOWNLOADPATH = "images/"; @@ -77,7 +76,7 @@ public class DownloadRequester { // TODO Set Allowed Network Types DownloadManager manager = (DownloadManager) context .getSystemService(Context.DOWNLOAD_SERVICE); - + long downloadId = manager.enqueue(request); item.setDownloadId(downloadId); item.setFile_url(dest.toString()); @@ -125,7 +124,7 @@ public class DownloadRequester { notifyDownloadService(context); } } - + /** Cancels all running downloads */ public void cancelAllDownloads(Context context) { Log.d(TAG, "Cancelling all running downloads"); @@ -149,7 +148,7 @@ public class DownloadRequester { } return null; } - + /** Returns true if there is at least one Feed in the downloads queue. */ public boolean isDownloadingFeeds() { for (FeedFile f : downloads) { @@ -159,7 +158,7 @@ public class DownloadRequester { } return false; } - + /** Checks if feedfile is in the downloads list */ public boolean isDownloadingFile(FeedFile item) { for (FeedFile f : downloads) { @@ -201,11 +200,9 @@ public class DownloadRequester { } public String getMediafilePath(Context context, FeedMedia media) { - return context - .getExternalFilesDir( - MEDIA_DOWNLOADPATH - + media.getItem().getFeed().getTitle() + "/") - .toString(); + File externalStorage = context.getExternalFilesDir(MEDIA_DOWNLOADPATH + + NumberGenerator.generateLong(media.getItem().getFeed().getTitle()) + "/"); + return externalStorage.toString(); } public String getMediafilename(FeedMedia media) { |