summaryrefslogtreecommitdiff
path: root/src/de/podfetcher/activity
diff options
context:
space:
mode:
authorDaniel Oeh <daniel@danielpc.(none)>2012-05-30 17:34:04 +0200
committerDaniel Oeh <daniel@danielpc.(none)>2012-05-30 17:34:04 +0200
commit1cc9ce4352005d79cfc597e43b8b100eee3bc15c (patch)
treef327dd3071631515a69db0326dd2490053241d71 /src/de/podfetcher/activity
parent1cb46ad0371573053ead9231347fbc703137dfbb (diff)
downloadAntennaPod-1cc9ce4352005d79cfc597e43b8b100eee3bc15c.zip
Reimplemented DownloadObserver in ItemviewActivity
Diffstat (limited to 'src/de/podfetcher/activity')
-rw-r--r--src/de/podfetcher/activity/ItemviewActivity.java76
1 files changed, 44 insertions, 32 deletions
diff --git a/src/de/podfetcher/activity/ItemviewActivity.java b/src/de/podfetcher/activity/ItemviewActivity.java
index 91439879d..6ecb754b4 100644
--- a/src/de/podfetcher/activity/ItemviewActivity.java
+++ b/src/de/podfetcher/activity/ItemviewActivity.java
@@ -97,40 +97,52 @@ public class ItemviewActivity extends SherlockActivity {
}
private void getDownloadStatus() {
- /*
- if(item.getMedia().getFile_url() == null) {
- butPlay.setEnabled(false);
- butDownload.setEnabled(true);
- butRemove.setEnabled(false);
+ FeedMedia media = item.getMedia();
+ if (media.getFile_url() == null) {
+ setNotDownloadedState();
+ } else if (media.isDownloaded()) {
+ setDownloadedState();
} else {
- final DownloadObserver observer = new DownloadObserver(
- item.getMedia().getDownloadId(), DownloadObserver.TYPE_MEDIA, this);
-
- final Callable client = new Callable() {
- public Object call() {
- runOnUiThread(new Runnable() {
- public void run() {
- if(observer.getDone() &&
- // Download successful
- observer.getResult() == R.string.download_successful) {
- butDownload.setEnabled(false);
- butPlay.setEnabled(true);
- butRemove.setEnabled(true);
- } else {
- // Download running
- butDownload.setEnabled(false);
- butPlay.setEnabled(false);
- butRemove.setEnabled(false);
- }
- }
- });
- return null;
- }
- };
- observer.setClient(client);
- observer.start();
+ // observe
+ setDownloadingState();
+ downloadObserver.execute(media);
+ }
+ }
+
+ final DownloadObserver downloadObserver = new DownloadObserver(this) {
+ @Override
+ protected void onProgressUpdate(Integer... values) {
+
+ }
+
+ @Override
+ protected void onPostExecute(Boolean result) {
+ boolean r = result.booleanValue();
+ if (r) {
+ setDownloadedState();
+ } else {
+ setNotDownloadedState();
+ }
}
- */
+ };
+
+
+ private void setDownloadingState() {
+ butDownload.setEnabled(false);
+ butPlay.setEnabled(false);
+ butRemove.setEnabled(false);
+ }
+
+ private void setDownloadedState() {
+ butDownload.setEnabled(false);
+ butPlay.setEnabled(true);
+ butRemove.setEnabled(true);
+ }
+
+ private void setNotDownloadedState() {
+ butPlay.setEnabled(false);
+ butDownload.setEnabled(true);
+ butRemove.setEnabled(false);
}
}