summaryrefslogtreecommitdiff
path: root/src/de/danoeh
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-07-21 12:40:31 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-07-21 12:40:31 +0200
commit57b41eb18e07b59918e19a2995c767bf082d5844 (patch)
tree1e3a3021ec85c3df15f42832d1d3d4ce5534909c /src/de/danoeh
parent7cde39efd2b208ecf0d6d0a3b61168afea297395 (diff)
downloadAntennaPod-57b41eb18e07b59918e19a2995c767bf082d5844.zip
Fixed a bug that AsyncTasks were not working properly on api 11+
Diffstat (limited to 'src/de/danoeh')
-rw-r--r--src/de/danoeh/antennapod/activity/FeedItemlistActivity.java8
-rw-r--r--src/de/danoeh/antennapod/activity/MediaplayerActivity.java26
-rw-r--r--src/de/danoeh/antennapod/asynctask/FeedImageLoader.java6
-rw-r--r--src/de/danoeh/antennapod/asynctask/FlattrClickWorker.java10
-rw-r--r--src/de/danoeh/antennapod/asynctask/FlattrTokenFetcher.java8
-rw-r--r--src/de/danoeh/antennapod/fragment/FeedlistFragment.java7
-rw-r--r--src/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java17
-rw-r--r--src/de/danoeh/antennapod/service/DownloadService.java9
-rw-r--r--src/de/danoeh/antennapod/service/PlaybackService.java14
-rw-r--r--src/de/danoeh/antennapod/util/FeedItemMenuHandler.java2
-rw-r--r--src/de/danoeh/antennapod/util/FeedMenuHandler.java2
-rw-r--r--src/de/danoeh/antennapod/util/FlattrUtils.java2
12 files changed, 94 insertions, 17 deletions
diff --git a/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java b/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
index 5e0971473..27fb66d53 100644
--- a/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
+++ b/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
@@ -1,6 +1,7 @@
package de.danoeh.antennapod.activity;
import android.graphics.drawable.BitmapDrawable;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
@@ -90,7 +91,12 @@ public class FeedItemlistActivity extends SherlockFragmentActivity {
finish();
}
};
- remover.execute(feed);
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ remover.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
+ feed);
+ } else {
+ remover.execute(feed);
+ }
break;
case android.R.id.home:
finish();
diff --git a/src/de/danoeh/antennapod/activity/MediaplayerActivity.java b/src/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 88a48724a..a66e49ac9 100644
--- a/src/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/src/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -1,5 +1,6 @@
package de.danoeh.antennapod.activity;
+import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
@@ -142,7 +143,8 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
- startActivity(new Intent(MediaplayerActivity.this, MainActivity.class));
+ startActivity(new Intent(MediaplayerActivity.this,
+ MainActivity.class));
break;
default:
return FeedItemMenuHandler.onMenuItemClicked(this, item,
@@ -284,8 +286,10 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
}
}
+ @SuppressLint("NewApi")
private void setupPositionObserver() {
if (positionObserver == null || positionObserver.isCancelled()) {
+ Log.d(TAG, "Setting up position observer");
positionObserver = new MediaPositionObserver() {
@Override
@@ -301,7 +305,14 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
}
};
- positionObserver.execute(playbackService.getPlayer());
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ positionObserver.executeOnExecutor(
+ AsyncTask.THREAD_POOL_EXECUTOR,
+ playbackService.getPlayer());
+ } else {
+ positionObserver.execute(playbackService.getPlayer());
+ }
+
}
}
@@ -317,8 +328,7 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
if (!mediaInfoLoaded) {
Log.d(TAG, "Loading media info");
if (media != null) {
- getSupportActionBar().setSubtitle(
- media.getItem().getTitle());
+ getSupportActionBar().setSubtitle(media.getItem().getTitle());
getSupportActionBar().setTitle(
media.getItem().getFeed().getTitle());
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
@@ -461,12 +471,18 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
}
};
+ @SuppressLint("NewApi")
private void setupVideoControlsToggler() {
if (videoControlsToggler != null) {
videoControlsToggler.cancel(true);
}
videoControlsToggler = new VideoControlsHider();
- videoControlsToggler.execute();
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ videoControlsToggler.executeOnExecutor(
+ AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ videoControlsToggler.execute();
+ }
}
private void toggleVideoControlsVisibility() {
diff --git a/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java b/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java
index 7d411a329..d4be4f11d 100644
--- a/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java
+++ b/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java
@@ -66,7 +66,11 @@ public class FeedImageLoader {
} else {
target.setImageResource(R.drawable.default_cover);
BitmapWorkerTask worker = new BitmapWorkerTask(target);
- worker.execute(image);
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ worker.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, image);
+ } else {
+ worker.execute(image);
+ }
}
} else {
target.setImageResource(R.drawable.default_cover);
diff --git a/src/de/danoeh/antennapod/asynctask/FlattrClickWorker.java b/src/de/danoeh/antennapod/asynctask/FlattrClickWorker.java
index 63e7f67ef..18fc31cba 100644
--- a/src/de/danoeh/antennapod/asynctask/FlattrClickWorker.java
+++ b/src/de/danoeh/antennapod/asynctask/FlattrClickWorker.java
@@ -3,6 +3,7 @@ package de.danoeh.antennapod.asynctask;
import org.shredzone.flattr4j.exception.FlattrException;
import org.shredzone.flattr4j.oauth.AccessToken;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
@@ -78,5 +79,14 @@ public class FlattrClickWorker extends AsyncTask<Void, Void, Void> {
return null;
}
+ @SuppressLint("NewApi")
+ public void executeAsync() {
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ executeOnExecutor(THREAD_POOL_EXECUTOR);
+ } else {
+ execute();
+ }
+ }
+
}
diff --git a/src/de/danoeh/antennapod/asynctask/FlattrTokenFetcher.java b/src/de/danoeh/antennapod/asynctask/FlattrTokenFetcher.java
index 3b514fd3e..86928c901 100644
--- a/src/de/danoeh/antennapod/asynctask/FlattrTokenFetcher.java
+++ b/src/de/danoeh/antennapod/asynctask/FlattrTokenFetcher.java
@@ -78,5 +78,13 @@ public class FlattrTokenFetcher extends AsyncTask<Void, Void, AccessToken> {
return null;
}
}
+
+ public void executeAsync() {
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ execute();
+ }
+ }
} \ No newline at end of file
diff --git a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java b/src/de/danoeh/antennapod/fragment/FeedlistFragment.java
index bb96ff4b1..b296293ce 100644
--- a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java
+++ b/src/de/danoeh/antennapod/fragment/FeedlistFragment.java
@@ -8,6 +8,7 @@ import de.danoeh.antennapod.service.DownloadService;
import de.danoeh.antennapod.storage.DownloadRequester;
import de.danoeh.antennapod.util.FeedMenuHandler;
import de.danoeh.antennapod.R;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
@@ -163,7 +164,11 @@ public class FeedlistFragment extends SherlockListFragment implements
fla.notifyDataSetChanged();
}
};
- remover.execute(selectedFeed);
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ remover.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, selectedFeed);
+ } else {
+ remover.execute(selectedFeed);
+ }
break;
}
}
diff --git a/src/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/src/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
index 2e13b5ba0..4cd2902d2 100644
--- a/src/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
+++ b/src/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
@@ -5,6 +5,7 @@ import java.net.URLEncoder;
import org.apache.commons.lang3.StringEscapeUtils;
+import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
@@ -36,7 +37,8 @@ public class ItemDescriptionFragment extends SherlockFragment {
private AsyncTask<Void, Void, Void> webViewLoader;
- public static ItemDescriptionFragment newInstance(FeedItem item, boolean scrollbarEnabled) {
+ public static ItemDescriptionFragment newInstance(FeedItem item,
+ boolean scrollbarEnabled) {
ItemDescriptionFragment f = new ItemDescriptionFragment();
Bundle args = new Bundle();
args.putLong(ARG_FEED_ID, item.getFeed().getId());
@@ -54,12 +56,17 @@ public class ItemDescriptionFragment extends SherlockFragment {
return webvDescription;
}
+ @SuppressLint("NewApi")
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (webViewLoader == null && item != null) {
webViewLoader = createLoader();
- webViewLoader.execute();
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ webViewLoader.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ webViewLoader.execute();
+ }
}
}
@@ -91,7 +98,11 @@ public class ItemDescriptionFragment extends SherlockFragment {
Feed feed = manager.getFeed(feedId);
item = manager.getFeedItem(itemId, feed);
webViewLoader = createLoader();
- webViewLoader.execute();
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ webViewLoader.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ webViewLoader.execute();
+ }
} else {
Log.e(TAG, TAG + " was called with invalid arguments");
}
diff --git a/src/de/danoeh/antennapod/service/DownloadService.java b/src/de/danoeh/antennapod/service/DownloadService.java
index 9da3b0d4a..d25b61328 100644
--- a/src/de/danoeh/antennapod/service/DownloadService.java
+++ b/src/de/danoeh/antennapod/service/DownloadService.java
@@ -27,6 +27,7 @@ import de.danoeh.antennapod.storage.DownloadRequester;
import de.danoeh.antennapod.syndication.handler.FeedHandler;
import de.danoeh.antennapod.syndication.handler.UnsupportedFeedtypeException;
import de.danoeh.antennapod.util.DownloadError;
+import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
@@ -43,6 +44,7 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
+import android.os.AsyncTask;
import android.os.Binder;
import android.os.Debug;
import android.os.Handler;
@@ -95,6 +97,7 @@ public class DownloadService extends Service {
return super.onStartCommand(intent, flags, startId);
}
+ @SuppressLint("NewApi")
@Override
public void onCreate() {
Log.d(TAG, "Service started");
@@ -108,7 +111,11 @@ public class DownloadService extends Service {
downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
downloadObserver = new DownloadObserver(this);
setupNotification();
- downloadObserver.execute();
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ downloadObserver.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ downloadObserver.execute();
+ }
}
@Override
diff --git a/src/de/danoeh/antennapod/service/PlaybackService.java b/src/de/danoeh/antennapod/service/PlaybackService.java
index e4dfc7f0a..341245cf9 100644
--- a/src/de/danoeh/antennapod/service/PlaybackService.java
+++ b/src/de/danoeh/antennapod/service/PlaybackService.java
@@ -2,6 +2,7 @@ package de.danoeh.antennapod.service;
import java.io.IOException;
+import android.annotation.SuppressLint;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
@@ -330,6 +331,7 @@ public class PlaybackService extends Service {
}
}
+ @SuppressLint("NewApi")
private void setupPositionSaver() {
if (positionSaver != null && !positionSaver.isCancelled()) {
positionSaver.cancel(true);
@@ -347,7 +349,11 @@ public class PlaybackService extends Service {
positionSaver = null;
}
};
- positionSaver.execute();
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ positionSaver.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ positionSaver.execute();
+ }
}
private MediaPlayer.OnPreparedListener preparedListener = new MediaPlayer.OnPreparedListener() {
@@ -561,7 +567,11 @@ public class PlaybackService extends Service {
private void setupWidgetUpdater() {
if (widgetUpdater == null || widgetUpdater.isCancelled()) {
widgetUpdater = new WidgetUpdateWorker();
- widgetUpdater.execute();
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
+ widgetUpdater.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ widgetUpdater.execute();
+ }
}
}
diff --git a/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java b/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java
index fad7db30b..5c5fe452b 100644
--- a/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java
+++ b/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java
@@ -103,7 +103,7 @@ public class FeedItemMenuHandler {
context.startActivity(new Intent(Intent.ACTION_VIEW, uri));
break;
case R.id.support_item:
- new FlattrClickWorker(context, selectedItem.getPaymentLink()).execute();
+ new FlattrClickWorker(context, selectedItem.getPaymentLink()).executeAsync();
break;
case R.id.share_link_item:
ShareUtils.shareFeedItemLink(context, selectedItem);
diff --git a/src/de/danoeh/antennapod/util/FeedMenuHandler.java b/src/de/danoeh/antennapod/util/FeedMenuHandler.java
index 85bca3e26..3f001adf1 100644
--- a/src/de/danoeh/antennapod/util/FeedMenuHandler.java
+++ b/src/de/danoeh/antennapod/util/FeedMenuHandler.java
@@ -69,7 +69,7 @@ public class FeedMenuHandler {
context.startActivity(new Intent(Intent.ACTION_VIEW, uri));
break;
case R.id.support_item:
- new FlattrClickWorker(context, selectedFeed.getPaymentLink()).execute();
+ new FlattrClickWorker(context, selectedFeed.getPaymentLink()).executeAsync();
break;
case R.id.share_link_item:
ShareUtils.shareFeedlink(context, selectedFeed);
diff --git a/src/de/danoeh/antennapod/util/FlattrUtils.java b/src/de/danoeh/antennapod/util/FlattrUtils.java
index 55ad845b3..188ff9a93 100644
--- a/src/de/danoeh/antennapod/util/FlattrUtils.java
+++ b/src/de/danoeh/antennapod/util/FlattrUtils.java
@@ -120,7 +120,7 @@ public class FlattrUtils {
public static void handleCallback(Context context, Uri uri) {
AndroidAuthenticator auth = createAuthenticator();
- new FlattrTokenFetcher(context, auth, uri).execute();
+ new FlattrTokenFetcher(context, auth, uri).executeAsync();
}
public static void revokeAccessToken(Context context) {