summaryrefslogtreecommitdiff
path: root/src/de/podfetcher/activity/AddFeedActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/podfetcher/activity/AddFeedActivity.java')
-rw-r--r--src/de/podfetcher/activity/AddFeedActivity.java32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/de/podfetcher/activity/AddFeedActivity.java b/src/de/podfetcher/activity/AddFeedActivity.java
index 273cabf2e..e0f83383d 100644
--- a/src/de/podfetcher/activity/AddFeedActivity.java
+++ b/src/de/podfetcher/activity/AddFeedActivity.java
@@ -10,6 +10,7 @@ import de.podfetcher.R;
import de.podfetcher.feed.Feed;
import de.podfetcher.storage.DownloadRequester;
import de.podfetcher.util.URLChecker;
+import de.podfetcher.service.DownloadObserver;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
@@ -71,20 +72,29 @@ public class AddFeedActivity extends SherlockActivity {
dialog = new ProgressDialog(this);
- final DownloadRequester.DownloadObserver observer = new DownloadRequester.DownloadObserver(
- feed.getDownloadId(), this);
+ final DownloadObserver observer = new DownloadObserver(
+ feed.getDownloadId(), this, 10000);
+
client = new Callable() {
public Object call() {
- if(observer.getDone()) {
- dialog.dismiss();
- finish();
- }else {
- Log.d(TAG, "Changing message of dialog.");
- dialog.setMessage(AddFeedActivity.this.getString(observer.getResult()));
- }
+ runOnUiThread(new Runnable() {
+ public void run() {
+ if(observer.isTimedOut()) {
+ dialog.dismiss();
+ finish();
+ }
+
+ if(observer.getDone()) {
+ dialog.dismiss();
+ finish();
+ }else {
+ Log.d(TAG, "Changing message of dialog.");
+ dialog.setMessage(AddFeedActivity.this.getString(observer.getResult()));
+ }
+ }});
+
return null;
- }
- };
+ }};
observer.setClient(client);
dialog.show();
observer.start();