diff options
author | H. Lehmann <ByteHamster@users.noreply.github.com> | 2020-05-01 12:40:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-01 12:40:03 +0200 |
commit | b870c233eed3e2ea085d41daf4c099f20b9794d4 (patch) | |
tree | 6703dbb336be1e69c034b7236850924c603f88ed /app/src/main/java/de/danoeh/antennapod/fragment/preferences | |
parent | 95f269ae3025283daeb838a4197c183a92d1164d (diff) | |
parent | 7bdacf8fdebbf38ecdc797d2b67506e3eeffb5a6 (diff) | |
download | AntennaPod-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.java | 64 |
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); - } - } } } |