summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment/preferences
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2020-05-01 12:40:03 +0200
committerGitHub <noreply@github.com>2020-05-01 12:40:03 +0200
commitb870c233eed3e2ea085d41daf4c099f20b9794d4 (patch)
tree6703dbb336be1e69c034b7236850924c603f88ed /app/src/main/java/de/danoeh/antennapod/fragment/preferences
parent95f269ae3025283daeb838a4197c183a92d1164d (diff)
parent7bdacf8fdebbf38ecdc797d2b67506e3eeffb5a6 (diff)
downloadAntennaPod-b870c233eed3e2ea085d41daf4c099f20b9794d4.zip
Merge pull request #4020 from ebraminio/rtl
Adopt the project with ViewPager2
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/preferences')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/preferences/StatisticsFragment.java64
1 files changed, 31 insertions, 33 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StatisticsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StatisticsFragment.java
index 4b8cf1e1c..b455a10ee 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StatisticsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/StatisticsFragment.java
@@ -1,17 +1,17 @@
package de.danoeh.antennapod.fragment.preferences;
-import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentPagerAdapter;
-import androidx.viewpager.widget.ViewPager;
+import androidx.viewpager2.adapter.FragmentStateAdapter;
+import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.tabs.TabLayout;
+import com.google.android.material.tabs.TabLayoutMediator;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.PreferenceActivity;
@@ -29,25 +29,35 @@ public class StatisticsFragment extends Fragment {
private TabLayout tabLayout;
- private ViewPager viewPager;
+ private ViewPager2 viewPager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
setHasOptionsMenu(true);
View rootView = inflater.inflate(R.layout.pager_fragment, container, false);
viewPager = rootView.findViewById(R.id.viewpager);
- viewPager.setAdapter(new StatisticsPagerAdapter(getChildFragmentManager(), getResources()));
-
+ viewPager.setAdapter(new StatisticsPagerAdapter(this));
// Give the TabLayout the ViewPager
tabLayout = rootView.findViewById(R.id.sliding_tabs);
- tabLayout.setupWithViewPager(viewPager);
+ new TabLayoutMediator(tabLayout, viewPager, (tab, position) -> {
+ switch (position) {
+ case POS_LISTENED_HOURS:
+ tab.setText(R.string.playback_statistics_label);
+ break;
+ case POS_SPACE_TAKEN:
+ tab.setText(R.string.download_statistics_label);
+ break;
+ default:
+ break;
+ }
+ }).attach();
rootView.findViewById(R.id.toolbar).setVisibility(View.GONE);
@@ -60,39 +70,27 @@ public class StatisticsFragment extends Fragment {
((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.statistics_label);
}
- public static class StatisticsPagerAdapter extends FragmentPagerAdapter {
-
- private final Resources resources;
+ public static class StatisticsPagerAdapter extends FragmentStateAdapter {
- public StatisticsPagerAdapter(FragmentManager fm, Resources resources) {
- super(fm);
- this.resources = resources;
+ StatisticsPagerAdapter(@NonNull Fragment fragment) {
+ super(fragment);
}
+ @NonNull
@Override
- public Fragment getItem(int position) {
- if (position == 0) {
- return new PlaybackStatisticsFragment();
- } else {
- return new DownloadStatisticsFragment();
+ public Fragment createFragment(int position) {
+ switch (position) {
+ case POS_LISTENED_HOURS:
+ return new PlaybackStatisticsFragment();
+ default:
+ case POS_SPACE_TAKEN:
+ return new DownloadStatisticsFragment();
}
}
@Override
- public int getCount() {
+ public int getItemCount() {
return TOTAL_COUNT;
}
-
- @Override
- public CharSequence getPageTitle(int position) {
- switch (position) {
- case POS_LISTENED_HOURS:
- return resources.getString(R.string.playback_statistics_label);
- case POS_SPACE_TAKEN:
- return resources.getString(R.string.download_statistics_label);
- default:
- return super.getPageTitle(position);
- }
- }
}
}