diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2016-01-26 11:51:19 +0100 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2016-01-26 11:51:19 +0100 |
commit | d03c85a72fbe8b92aeda5d0027cc47ad7d3cd407 (patch) | |
tree | 72a57fcfb1370ddb70430e9cc9ad41e33f79edbc /app/src/main/java/de/danoeh/antennapod | |
parent | 150042e91316017ce8ec4cf9d2be520536498580 (diff) | |
download | AntennaPod-d03c85a72fbe8b92aeda5d0027cc47ad7d3cd407.zip |
Only instantiate player fragments once
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java index 94919e32d..12bae2f51 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java @@ -533,16 +533,46 @@ public class AudioplayerActivity extends MediaplayerActivity implements NavDrawe super(fm); } + private CoverFragment coverFragment; + private ItemDescriptionFragment itemDescriptionFragment; + private ChaptersFragment chaptersFragment; + + public void onMediaChanged(Playable media) { + if(coverFragment != null) { + coverFragment.onMediaChanged(media); + } + if(itemDescriptionFragment != null) { + itemDescriptionFragment.onMediaChanged(media); + } + if(chaptersFragment != null) { + chaptersFragment.onMediaChanged(media); + } + } + + @Nullable + public ChaptersFragment getChaptersFragment() { + return chaptersFragment; + } + @Override public Fragment getItem(int position) { Log.d(TAG, "getItem(" + position + ")"); switch (position) { case POS_COVER: - return CoverFragment.newInstance(media); + if(coverFragment == null) { + coverFragment = CoverFragment.newInstance(media); + } + return coverFragment; case POS_DESCR: - return ItemDescriptionFragment.newInstance(media, true, true); + if(itemDescriptionFragment == null) { + itemDescriptionFragment = ItemDescriptionFragment.newInstance(media, true, true); + } + return itemDescriptionFragment; case POS_CHAPTERS: - return ChaptersFragment.newInstance(media, controller); + if(chaptersFragment == null) { + chaptersFragment = ChaptersFragment.newInstance(media, controller); + } + return chaptersFragment; default: return null; } |