From 34553475d9a28f7eba1b0570370ab3370ce87fc0 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sat, 25 Feb 2023 10:54:16 +0100 Subject: [PATCH] Add chapters button to video player (#6348) --- .../danoeh/antennapod/activity/VideoplayerActivity.java | 8 ++++++-- .../de/danoeh/antennapod/fragment/ChaptersFragment.java | 4 +++- app/src/main/res/menu/mediaplayer.xml | 7 +++++++ ui/i18n/src/main/res/values/strings.xml | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java index bacb5972f..9070cd6f8 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java @@ -41,6 +41,7 @@ import de.danoeh.antennapod.event.playback.PlaybackPositionEvent; import de.danoeh.antennapod.event.PlayerErrorEvent; import de.danoeh.antennapod.event.playback.PlaybackServiceEvent; import de.danoeh.antennapod.event.playback.SleepTimerUpdatedEvent; +import de.danoeh.antennapod.fragment.ChaptersFragment; import de.danoeh.antennapod.storage.preferences.UserPreferences; import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.storage.DBReader; @@ -557,6 +558,7 @@ public class VideoplayerActivity extends CastEnabledActivity implements SeekBar. menu.findItem(R.id.player_switch_to_audio_only).setVisible(true); menu.findItem(R.id.audio_controls).setIcon(R.drawable.ic_sliders); menu.findItem(R.id.playback_speed).setVisible(true); + menu.findItem(R.id.player_show_chapters).setVisible(true); return true; } @@ -566,13 +568,15 @@ public class VideoplayerActivity extends CastEnabledActivity implements SeekBar. switchToAudioOnly = true; finish(); return true; - } - if (item.getItemId() == android.R.id.home) { + } else if (item.getItemId() == android.R.id.home) { Intent intent = new Intent(VideoplayerActivity.this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); finish(); return true; + } else if (item.getItemId() == R.id.player_show_chapters) { + new ChaptersFragment().show(getSupportFragmentManager(), ChaptersFragment.TAG); + return true; } if (controller == null) { 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 809ca96c5..ae18fecda 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java @@ -8,6 +8,7 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.ProgressBar; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; @@ -158,8 +159,9 @@ public class ChaptersFragment extends AppCompatDialogFragment { if (adapter == null) { return; } - if (media.getChapters() != null && media.getChapters().size() <= 0) { + if (media.getChapters() != null && media.getChapters().size() == 0) { dismiss(); + Toast.makeText(getContext(), R.string.no_chapters_label, Toast.LENGTH_LONG).show(); } else { progressBar.setVisibility(View.GONE); } diff --git a/app/src/main/res/menu/mediaplayer.xml b/app/src/main/res/menu/mediaplayer.xml index ebb0befb0..5f60fe6f5 100644 --- a/app/src/main/res/menu/mediaplayer.xml +++ b/app/src/main/res/menu/mediaplayer.xml @@ -65,6 +65,13 @@ android:visible="false"> + + + An error occurred: Refresh Chapters + No chapters Duration: %1$s Description Shownotes