always utilize audio files when they exist
This commit is contained in:
parent
e337c7d6b3
commit
2454c73836
2 changed files with 13 additions and 4 deletions
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue