summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/de/podfetcher/activity/MediaplayerActivity.java13
-rw-r--r--src/de/podfetcher/service/PlaybackService.java11
2 files changed, 22 insertions, 2 deletions
diff --git a/src/de/podfetcher/activity/MediaplayerActivity.java b/src/de/podfetcher/activity/MediaplayerActivity.java
index d74833446..4b3b04278 100644
--- a/src/de/podfetcher/activity/MediaplayerActivity.java
+++ b/src/de/podfetcher/activity/MediaplayerActivity.java
@@ -529,15 +529,24 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
@Override
public void onReceive(Context context, Intent intent) {
- Log.d(TAG, "Received notification intent");
int type = intent.getIntExtra(
PlaybackService.EXTRA_NOTIFICATION_TYPE, -1);
int code = intent.getIntExtra(
PlaybackService.EXTRA_NOTIFICATION_CODE, -1);
if (code != -1 && type != -1) {
- if (type == PlaybackService.NOTIFICATION_TYPE_ERROR) {
+ switch (type) {
+ case PlaybackService.NOTIFICATION_TYPE_ERROR:
handleError(code);
+ break;
+ case PlaybackService.NOTIFICATION_TYPE_BUFFER_UPDATE:
+ if (sbPosition != null) {
+ float progress = ((float) code) / 100;
+ sbPosition.setSecondaryProgress((int) progress
+ * sbPosition.getMax());
+ }
+ break;
}
+
} else {
Log.d(TAG, "Bad arguments. Won't handle intent");
}
diff --git a/src/de/podfetcher/service/PlaybackService.java b/src/de/podfetcher/service/PlaybackService.java
index a852050df..26c1d4d70 100644
--- a/src/de/podfetcher/service/PlaybackService.java
+++ b/src/de/podfetcher/service/PlaybackService.java
@@ -110,6 +110,7 @@ public class PlaybackService extends Service {
player.setOnCompletionListener(completionListener);
player.setOnSeekCompleteListener(onSeekCompleteListener);
player.setOnErrorListener(onErrorListener);
+ player.setOnBufferingUpdateListener(onBufferingUpdateListener);
mediaButtonReceiver = new ComponentName(getPackageName(),
MediaButtonReceiver.class.getName());
audioManager.registerMediaButtonEventReceiver(mediaButtonReceiver);
@@ -277,6 +278,7 @@ public class PlaybackService extends Service {
player.setOnCompletionListener(completionListener);
player.setOnSeekCompleteListener(onSeekCompleteListener);
player.setOnErrorListener(onErrorListener);
+ player.setOnBufferingUpdateListener(onBufferingUpdateListener);
status = PlayerStatus.STOPPED;
setupMediaplayer();
}
@@ -385,6 +387,15 @@ public class PlaybackService extends Service {
}
};
+
+ private MediaPlayer.OnBufferingUpdateListener onBufferingUpdateListener = new MediaPlayer.OnBufferingUpdateListener() {
+
+ @Override
+ public void onBufferingUpdate(MediaPlayer mp, int percent) {
+ sendNotificationBroadcast(NOTIFICATION_TYPE_BUFFER_UPDATE, percent);
+
+ }
+ };
public void pause() {
if (player.isPlaying()) {