summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEbrahim Byagowi <ebrahim@gnu.org>2020-04-08 15:50:08 +0430
committerEbrahim Byagowi <ebrahim@gnu.org>2020-04-21 19:30:16 +0430
commit417c66d73a2c732372a1526979d1195c06a13192 (patch)
treef8fe79b873c2513ab3042f18e361578fdbe9f381
parentcedfb27ccaef74d954bb3a8f0ea471be63a1375c (diff)
downloadAntennaPod-417c66d73a2c732372a1526979d1195c06a13192.zip
Adopt StatisticsFragment with ViewPager2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/preferences/StatisticsFragment.java63
-rw-r--r--app/src/main/res/layout/statistics_fragment.xml2
2 files changed, 31 insertions, 34 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..1f93bd0e5 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,34 @@ 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(getString(R.string.playback_statistics_label));
+ break;
+ default:
+ case POS_SPACE_TAKEN:
+ tab.setText(getString(R.string.download_statistics_label));
+ break;
+ }
+ }).attach();
rootView.findViewById(R.id.toolbar).setVisibility(View.GONE);
@@ -60,39 +69,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 0:
+ return new PlaybackStatisticsFragment();
+ default:
+ case 1:
+ 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);
- }
- }
}
}
diff --git a/app/src/main/res/layout/statistics_fragment.xml b/app/src/main/res/layout/statistics_fragment.xml
index e69bc1a70..f931adda8 100644
--- a/app/src/main/res/layout/statistics_fragment.xml
+++ b/app/src/main/res/layout/statistics_fragment.xml
@@ -14,7 +14,7 @@
app:tabGravity="fill"
app:tabMode="fixed" />
- <androidx.viewpager.widget.ViewPager
+ <androidx.viewpager.widget.ViewPager2
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0px"