From f14c1fe6c7484a1d83ef2078ccc6abfd28eb545b Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sat, 12 Sep 2015 15:48:00 -0700 Subject: #519 Truncate file past size limit instead of just failing --- app/src/main/java/github/daneren2005/dsub/util/FileUtil.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'app/src') diff --git a/app/src/main/java/github/daneren2005/dsub/util/FileUtil.java b/app/src/main/java/github/daneren2005/dsub/util/FileUtil.java index 332f775c..31d7e31d 100644 --- a/app/src/main/java/github/daneren2005/dsub/util/FileUtil.java +++ b/app/src/main/java/github/daneren2005/dsub/util/FileUtil.java @@ -70,6 +70,7 @@ public class FileUtil { private static final List MUSIC_FILE_EXTENSIONS = Arrays.asList("mp3", "ogg", "aac", "flac", "m4a", "wav", "wma"); private static final List VIDEO_FILE_EXTENSIONS = Arrays.asList("flv", "mp4", "m4v", "wmv", "avi", "mov", "mpg", "mkv"); private static final List PLAYLIST_FILE_EXTENSIONS = Arrays.asList("m3u"); + private static final int MAX_FILENAME_LENGTH = 254 - ".complete.mp3".length(); private static File DEFAULT_MUSIC_DIR; private static final Kryo kryo = new Kryo(); private static HashMap entryLookup; @@ -123,8 +124,12 @@ public class FileUtil { fileName.append(track).append("-"); } - fileName.append(fileSystemSafe(song.getTitle())).append("."); + fileName.append(fileSystemSafe(song.getTitle())); + if(fileName.length() >= MAX_FILENAME_LENGTH) { + fileName.setLength(MAX_FILENAME_LENGTH); + } + fileName.append("."); if(song.isVideo()) { String videoPlayerType = Util.getVideoPlayerType(context); if("hls".equals(videoPlayerType)) { -- cgit v1.2.3