From a6b6022626b26acd970588ca0bfd0c1c3d641825 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Wed, 27 Feb 2013 11:47:12 +0100 Subject: PlaybackService now works with the 'Playable' interface --- .../danoeh/antennapod/util/PlaybackController.java | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/de/danoeh/antennapod/util/PlaybackController.java') diff --git a/src/de/danoeh/antennapod/util/PlaybackController.java b/src/de/danoeh/antennapod/util/PlaybackController.java index 465feba8e..cad5af92e 100644 --- a/src/de/danoeh/antennapod/util/PlaybackController.java +++ b/src/de/danoeh/antennapod/util/PlaybackController.java @@ -33,6 +33,7 @@ import de.danoeh.antennapod.feed.FeedMedia; import de.danoeh.antennapod.preferences.PlaybackPreferences; import de.danoeh.antennapod.service.PlaybackService; import de.danoeh.antennapod.service.PlayerStatus; +import de.danoeh.antennapod.util.Playable.PlayableUtils; /** * Communicates with the playback service. GUI classes should use this class to @@ -47,7 +48,7 @@ public abstract class PlaybackController { private Activity activity; private PlaybackService playbackService; - private FeedMedia media; + private Playable media; private PlayerStatus status; private ScheduledThreadPoolExecutor schedExecutor; @@ -186,24 +187,22 @@ public abstract class PlaybackController { Log.d(TAG, "Trying to restore last played media"); SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(activity.getApplicationContext()); - long mediaId = PlaybackPreferences.getLastPlayedId(); - long feedId = PlaybackPreferences.getLastPlayedFeedId(); - if (mediaId != -1 && feedId != -1) { - FeedMedia media = FeedManager.getInstance().getFeedMedia(mediaId); + long lastPlayedId = PlaybackPreferences.getLastPlayedId(); + if (lastPlayedId != PlaybackPreferences.NO_MEDIA_PLAYING) { + Playable media = PlayableUtils.createInstanceFromPreferences((int) lastPlayedId, prefs); if (media != null) { Intent serviceIntent = new Intent(activity, PlaybackService.class); - serviceIntent.putExtra(PlaybackService.EXTRA_FEED_ID, feedId); - serviceIntent.putExtra(PlaybackService.EXTRA_MEDIA_ID, mediaId); + serviceIntent.putExtra(PlaybackService.EXTRA_PLAYABLE, media); serviceIntent.putExtra( PlaybackService.EXTRA_START_WHEN_PREPARED, false); serviceIntent.putExtra( PlaybackService.EXTRA_PREPARE_IMMEDIATELY, false); - boolean fileExists = media.fileExists(); + boolean fileExists = media.localFileAvailable(); boolean lastIsStream = PlaybackPreferences.isLastIsStream(); - if (!fileExists && !lastIsStream) { + if (!fileExists && !lastIsStream && media instanceof FeedMedia) { FeedManager.getInstance().notifyMissingFeedMediaFile( - activity, media); + activity, (FeedMedia) media); } serviceIntent.putExtra(PlaybackService.EXTRA_SHOULD_STREAM, lastIsStream || !fileExists); @@ -585,7 +584,7 @@ public abstract class PlaybackController { } } - public FeedMedia getMedia() { + public Playable getMedia() { return media; } -- cgit v1.2.3