diff options
author | ByteHamster <info@bytehamster.com> | 2020-04-03 11:53:25 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-04-03 11:58:59 +0200 |
commit | 5a5396625066e9fbb07d9399dc6d24b29da21d75 (patch) | |
tree | 538e28a38e311322e170953db69295275ba8214c /app | |
parent | 4855f2386d121d30963beb96e0105dad3096b50d (diff) | |
download | AntennaPod-5a5396625066e9fbb07d9399dc6d24b29da21d75.zip |
Only load chapters when actually needed
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java | 12 | ||||
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java index c1eff4e84..7f0326019 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java @@ -102,7 +102,7 @@ public class AudioPlayerFragment extends Fragment implements toolbar.setOnMenuItemClickListener(this); ExternalPlayerFragment externalPlayerFragment = new ExternalPlayerFragment(); - getFragmentManager().beginTransaction() + getChildFragmentManager().beginTransaction() .replace(R.id.playerFragment, externalPlayerFragment, ExternalPlayerFragment.TAG) .commit(); @@ -127,7 +127,7 @@ public class AudioPlayerFragment extends Fragment implements sbPosition.setOnSeekBarChangeListener(this); pager = root.findViewById(R.id.pager); - AudioPlayerPagerAdapter pagerAdapter = new AudioPlayerPagerAdapter(getFragmentManager()); + AudioPlayerPagerAdapter pagerAdapter = new AudioPlayerPagerAdapter(getChildFragmentManager()); pager.setAdapter(pagerAdapter); // Required for getChildAt(int) in ViewPagerBottomSheetBehavior to return the correct page pager.setOffscreenPageLimit(NUM_CONTENT_FRAGMENTS); @@ -355,12 +355,10 @@ public class AudioPlayerFragment extends Fragment implements updatePosition(new PlaybackPositionEvent(controller.getPosition(), controller.getDuration())); updatePlaybackSpeedButton(media); setupOptionsMenu(media); + } - if (media != null) { - List<Chapter> chapters = controller.getMedia().getChapters(); - boolean hasChapters = chapters != null && !chapters.isEmpty(); - pageIndicator.setDisabledPage(hasChapters ? -1 : 2); - } + public void setHasChapters(boolean hasChapters) { + pageIndicator.setDisabledPage(hasChapters ? -1 : 2); } @Override diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java index dc27e1f83..6d693f6cb 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java @@ -128,6 +128,7 @@ public class ChaptersFragment extends Fragment { disposable = Maybe.create(emitter -> { Playable media = controller.getMedia(); if (media != null) { + media.loadChapterMarks(); emitter.onSuccess(media); } else { emitter.onComplete(); @@ -146,6 +147,7 @@ public class ChaptersFragment extends Fragment { return; } adapter.setMedia(media); + ((AudioPlayerFragment) getParentFragment()).setHasChapters(adapter.getItemCount() > 0); int positionOfCurrentChapter = getCurrentChapter(media); updateChapterSelection(positionOfCurrentChapter); } |