diff --git a/app/src/main/java/com/dkanada/gramophone/service/DownloadService.java b/app/src/main/java/com/dkanada/gramophone/service/DownloadService.java index a92d1af7..4d2f6fa9 100644 --- a/app/src/main/java/com/dkanada/gramophone/service/DownloadService.java +++ b/app/src/main/java/com/dkanada/gramophone/service/DownloadService.java @@ -13,6 +13,7 @@ import com.dkanada.gramophone.model.Song; import com.dkanada.gramophone.util.MusicUtil; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; @@ -50,13 +51,14 @@ public class DownloadService extends Service { try { URL url = new URL(MusicUtil.getDownloadUri(song)); URLConnection connection = url.openConnection(); + File download = new File(getCacheDir(), "download/" + song.id); File audio = new File(MusicUtil.getFileUri(song)); - audio.getParentFile().mkdirs(); - audio.createNewFile(); + download.getParentFile().mkdirs(); + download.createNewFile(); InputStream input = connection.getInputStream(); - OutputStream output = new FileOutputStream(audio); + OutputStream output = new FileOutputStream(download); connection.connect(); @@ -70,6 +72,13 @@ public class DownloadService extends Service { input.close(); output.close(); + input = new FileInputStream(download); + output = new FileOutputStream(audio); + + output.write(input.read()); + input.close(); + output.close(); + App.getDatabase().cacheDao().insertCache(new Cache(song)); } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/dkanada/gramophone/service/playback/LocalPlayer.java b/app/src/main/java/com/dkanada/gramophone/service/playback/LocalPlayer.java index 1daa568b..2397d87d 100644 --- a/app/src/main/java/com/dkanada/gramophone/service/playback/LocalPlayer.java +++ b/app/src/main/java/com/dkanada/gramophone/service/playback/LocalPlayer.java @@ -120,7 +120,7 @@ public class LocalPlayer implements Playback { File audio = new File(MusicUtil.getFileUri(song)); Uri uri = Uri.fromFile(audio); - if (!song.cache || !audio.exists()) { + if (!audio.exists()) { uri = Uri.parse(MusicUtil.getTranscodeUri(song)); }