diff options
Diffstat (limited to 'app/src/main/java/de')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java index 634c3c546..85e0e45ca 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java @@ -141,26 +141,12 @@ public class ExternalPlayerFragment extends Fragment { @Override public void onShutdownNotification() { - if (fragmentLayout != null) { - fragmentLayout.setVisibility(View.GONE); - } - controller = setupPlaybackController(); - if (butPlay != null) { - butPlay.setOnClickListener(controller - .newOnPlayButtonClickListener()); - } + playbackDone(); } @Override public void onPlaybackEnd() { - if (fragmentLayout != null) { - fragmentLayout.setVisibility(View.GONE); - } - controller = setupPlaybackController(); - if (butPlay != null) { - butPlay.setOnClickListener(controller - .newOnPlayButtonClickListener()); - } + playbackDone(); } @Override @@ -192,6 +178,21 @@ public class ExternalPlayerFragment extends Fragment { } } + private void playbackDone() { + if (fragmentLayout != null) { + fragmentLayout.setVisibility(View.GONE); + } + if (controller != null) { + controller.release(); + } + controller = setupPlaybackController(); + if (butPlay != null) { + butPlay.setOnClickListener(controller + .newOnPlayButtonClickListener()); + } + controller.init(); + } + private boolean loadMediaInfo() { Log.d(TAG, "Loading media info"); if (controller != null && controller.serviceAvailable()) { |