summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java42
1 files changed, 32 insertions, 10 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 5a65f956c..82e2b3a6a 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
@@ -22,6 +22,8 @@ import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.snackbar.Snackbar;
+import com.google.android.material.tabs.TabLayout;
+import com.google.android.material.tabs.TabLayoutMediator;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.CastEnabledActivity;
import de.danoeh.antennapod.activity.MainActivity;
@@ -43,7 +45,6 @@ import de.danoeh.antennapod.dialog.SkipPreferenceDialog;
import de.danoeh.antennapod.dialog.SleepTimerDialog;
import de.danoeh.antennapod.dialog.VariableSpeedDialog;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
-import de.danoeh.antennapod.view.PagerIndicatorView;
import de.danoeh.antennapod.view.PlaybackSpeedIndicatorView;
import io.reactivex.Maybe;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -74,7 +75,6 @@ public class AudioPlayerFragment extends Fragment implements
PlaybackSpeedIndicatorView butPlaybackSpeed;
TextView txtvPlaybackSpeed;
private ViewPager2 pager;
- private PagerIndicatorView pageIndicator;
private TextView txtvPosition;
private TextView txtvLength;
private SeekBar sbPosition;
@@ -90,6 +90,8 @@ public class AudioPlayerFragment extends Fragment implements
private PlaybackController controller;
private Disposable disposable;
private boolean showTimeLeft;
+ private boolean hasChapters = false;
+ private TabLayoutMediator tabLayoutMediator;
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
@@ -141,13 +143,37 @@ public class AudioPlayerFragment extends Fragment implements
});
}
});
- pageIndicator = root.findViewById(R.id.page_indicator);
- pageIndicator.setViewPager(pager);
- pageIndicator.setOnClickListener(v ->
- pager.setCurrentItem((pager.getCurrentItem() + 1) % NUM_CONTENT_FRAGMENTS));
+
+ TabLayout tabLayout = root.findViewById(R.id.sliding_tabs);
+ tabLayoutMediator = new TabLayoutMediator(tabLayout, pager, (tab, position) -> {
+ tab.view.setAlpha(1.0f);
+ switch (position) {
+ case POS_COVER:
+ tab.setText(R.string.cover_label);
+ break;
+ case POS_DESCR:
+ tab.setText(R.string.description_label);
+ break;
+ case POS_CHAPTERS:
+ tab.setText(R.string.chapters_label);
+ if (!hasChapters) {
+ tab.view.setAlpha(0.5f);
+ }
+ break;
+ default:
+ break;
+ }
+ });
+ tabLayoutMediator.attach();
return root;
}
+ public void setHasChapters(boolean hasChapters) {
+ this.hasChapters = hasChapters;
+ tabLayoutMediator.detach();
+ tabLayoutMediator.attach();
+ }
+
public View getExternalPlayerHolder() {
return getView().findViewById(R.id.playerFragment);
}
@@ -362,10 +388,6 @@ public class AudioPlayerFragment extends Fragment implements
setupOptionsMenu(media);
}
- public void setHasChapters(boolean hasChapters) {
- pageIndicator.setDisabledPage(hasChapters ? -1 : 2);
- }
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);