Build media file name based on item title
Use the media item title as a filename base if exist, fallback on the url name otherwise.
This commit is contained in:
parent
4707139def
commit
92a0b322da
|
@ -5,6 +5,7 @@ import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
|
import org.apache.commons.lang3.text.ExtendedMessageFormat;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
@ -61,7 +62,7 @@ public class DownloadRequester {
|
||||||
.getName())
|
.getName())
|
||||||
+ "-"
|
+ "-"
|
||||||
+ i
|
+ i
|
||||||
+ "."
|
+ FilenameUtils.EXTENSION_SEPARATOR
|
||||||
+ FilenameUtils.getExtension(dest.getName());
|
+ FilenameUtils.getExtension(dest.getName());
|
||||||
if (AppConfig.DEBUG)
|
if (AppConfig.DEBUG)
|
||||||
Log.d(TAG, "Testing filename " + newName);
|
Log.d(TAG, "Testing filename " + newName);
|
||||||
|
@ -289,8 +290,29 @@ public class DownloadRequester {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMediafilename(FeedMedia media) {
|
public String getMediafilename(FeedMedia media) {
|
||||||
return URLUtil.guessFileName(media.getDownload_url(), null,
|
String filename;
|
||||||
media.getMime_type());
|
String titleBaseFilename = "";
|
||||||
|
|
||||||
|
// Try to generate the filename by the item title
|
||||||
|
if (media.getItem() != null && media.getItem().getTitle() != null) {
|
||||||
|
String title = media.getItem().getTitle();
|
||||||
|
// Delete reserved characters
|
||||||
|
titleBaseFilename = title.replaceAll("[\\\\/%\\?\\*:|<>\"\\p{Cntrl}]", "");
|
||||||
|
titleBaseFilename = titleBaseFilename.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
String URLBaseFilename = URLUtil.guessFileName(media.getDownload_url(),
|
||||||
|
null, media.getMime_type());;
|
||||||
|
|
||||||
|
if (titleBaseFilename != "") {
|
||||||
|
// Append extension
|
||||||
|
filename = titleBaseFilename + FilenameUtils.EXTENSION_SEPARATOR +
|
||||||
|
FilenameUtils.getExtension(URLBaseFilename);
|
||||||
|
} else {
|
||||||
|
// Fall back on URL file name
|
||||||
|
filename = URLBaseFilename;
|
||||||
|
}
|
||||||
|
return filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue