2 * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
4 * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
6 * Privacy Browser is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * Privacy Browser is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>.
20 package com.stoutner.privacybrowser.adapters;
22 import android.content.Context;
24 import androidx.annotation.NonNull;
25 import androidx.fragment.app.Fragment;
26 import androidx.fragment.app.FragmentManager;
27 import androidx.fragment.app.FragmentPagerAdapter;
29 import com.stoutner.privacybrowser.R;
30 import com.stoutner.privacybrowser.fragments.AboutVersionFragment;
31 import com.stoutner.privacybrowser.fragments.AboutWebViewFragment;
33 import java.util.LinkedList;
35 public class AboutPagerAdapter extends FragmentPagerAdapter {
36 // Define the class variables.
37 private Context context;
38 private String[] blocklistVersions;
39 private LinkedList<Fragment> aboutFragmentList = new LinkedList<>();
41 public AboutPagerAdapter(FragmentManager fragmentManager, Context context, String[] blocklistVersions) {
42 // Run the default commands.
43 super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
45 // Store the class variables.
46 this.context = context;
47 this.blocklistVersions = blocklistVersions;
51 // Get the count of the number of tabs.
52 public int getCount() {
57 // Get the name of each tab. Tab numbers start at 0.
58 public CharSequence getPageTitle(int tab) {
61 return context.getString(R.string.version);
64 return context.getString(R.string.permissions);
67 return context.getString(R.string.privacy_policy);
70 return context.getString(R.string.changelog);
73 return context.getString(R.string.licenses);
76 return context.getString(R.string.contributors);
79 return context.getString(R.string.links);
89 public Fragment getItem(int tabNumber) {
90 // Create the tab fragment and add it to the list.
92 // Add the version tab to the list.
93 aboutFragmentList.add(AboutVersionFragment.createTab(blocklistVersions));
95 // Add the WebView tab to the list.
96 aboutFragmentList.add(AboutWebViewFragment.createTab(tabNumber));
99 // Return the tab number fragment.
100 return aboutFragmentList.get(tabNumber);
103 public Fragment getTabFragment(int tabNumber) {
104 // Return the tab fragment.
105 return aboutFragmentList.get(tabNumber);