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 com.dkanada.gramophone.util.MusicUtil;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
@ -50,13 +51,14 @@ public class DownloadService extends Service {
|
||||||
try {
|
try {
|
||||||
URL url = new URL(MusicUtil.getDownloadUri(song));
|
URL url = new URL(MusicUtil.getDownloadUri(song));
|
||||||
URLConnection connection = url.openConnection();
|
URLConnection connection = url.openConnection();
|
||||||
|
File download = new File(getCacheDir(), "download/" + song.id);
|
||||||
File audio = new File(MusicUtil.getFileUri(song));
|
File audio = new File(MusicUtil.getFileUri(song));
|
||||||
|
|
||||||
audio.getParentFile().mkdirs();
|
download.getParentFile().mkdirs();
|
||||||
audio.createNewFile();
|
download.createNewFile();
|
||||||
|
|
||||||
InputStream input = connection.getInputStream();
|
InputStream input = connection.getInputStream();
|
||||||
OutputStream output = new FileOutputStream(audio);
|
OutputStream output = new FileOutputStream(download);
|
||||||
|
|
||||||
connection.connect();
|
connection.connect();
|
||||||
|
|
||||||
|
|
@ -70,6 +72,13 @@ public class DownloadService extends Service {
|
||||||
input.close();
|
input.close();
|
||||||
output.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));
|
App.getDatabase().cacheDao().insertCache(new Cache(song));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ public class LocalPlayer implements Playback {
|
||||||
File audio = new File(MusicUtil.getFileUri(song));
|
File audio = new File(MusicUtil.getFileUri(song));
|
||||||
Uri uri = Uri.fromFile(audio);
|
Uri uri = Uri.fromFile(audio);
|
||||||
|
|
||||||
if (!song.cache || !audio.exists()) {
|
if (!audio.exists()) {
|
||||||
uri = Uri.parse(MusicUtil.getTranscodeUri(song));
|
uri = Uri.parse(MusicUtil.getTranscodeUri(song));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue