Use local file size if episode is downloaded
This commit is contained in:
parent
5608d228be
commit
65611129e1
|
@ -4,6 +4,7 @@ import android.app.IntentService;
|
|||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
@ -36,11 +37,17 @@ public class FeedMediaSizeService extends IntentService {
|
|||
return;
|
||||
}
|
||||
long size = Integer.MIN_VALUE;
|
||||
if(media.isDownloaded()) {
|
||||
File mediaFile = new File(media.getLocalMediaUrl());
|
||||
if(mediaFile.exists()) {
|
||||
size = mediaFile.length();
|
||||
}
|
||||
} else {
|
||||
HttpURLConnection conn = null;
|
||||
try {
|
||||
URL url = new URL(media.getDownload_url());
|
||||
conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestProperty( "Accept-Encoding", "" );
|
||||
conn.setRequestProperty("Accept-Encoding", "");
|
||||
conn.setRequestMethod("HEAD");
|
||||
size = conn.getContentLength();
|
||||
conn.disconnect();
|
||||
|
@ -48,10 +55,11 @@ public class FeedMediaSizeService extends IntentService {
|
|||
Log.d(TAG, media.getDownload_url());
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if(conn != null) {
|
||||
if (conn != null) {
|
||||
conn.disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
media.setSize(size);
|
||||
DBWriter.setFeedMedia(this, media);
|
||||
EventBus.getDefault().post(FeedMediaEvent.update(media));
|
||||
|
|
Loading…
Reference in New Issue