diff options
-rw-r--r-- | src/de/podfetcher/activity/MediaplayerActivity.java | 13 | ||||
-rw-r--r-- | src/de/podfetcher/service/PlaybackService.java | 11 |
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()) { |