summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-04-03 11:53:25 +0200
committerByteHamster <info@bytehamster.com>2020-04-03 11:58:59 +0200
commit5a5396625066e9fbb07d9399dc6d24b29da21d75 (patch)
tree538e28a38e311322e170953db69295275ba8214c /app
parent4855f2386d121d30963beb96e0105dad3096b50d (diff)
downloadAntennaPod-5a5396625066e9fbb07d9399dc6d24b29da21d75.zip
Only load chapters when actually needed
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java12
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java2
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);
}