]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blob - app/src/main/java/com/stoutner/privacybrowser/adapters/AboutPagerAdapter.java
Save and restore the app state. https://redmine.stoutner.com/issues/461
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / adapters / AboutPagerAdapter.java
1 /*
2  * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
3  *
4  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
5  *
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.
10  *
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.
15  *
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/>.
18  */
19
20 package com.stoutner.privacybrowser.adapters;
21
22 import android.content.Context;
23
24 import androidx.annotation.NonNull;
25 import androidx.fragment.app.Fragment;
26 import androidx.fragment.app.FragmentManager;
27 import androidx.fragment.app.FragmentPagerAdapter;
28
29 import com.stoutner.privacybrowser.R;
30 import com.stoutner.privacybrowser.fragments.AboutTabFragment;
31
32 public class AboutPagerAdapter extends FragmentPagerAdapter {
33     // Define the class variables.
34     private Context context;
35     private String[] blocklistVersions;
36
37     public AboutPagerAdapter(FragmentManager fragmentManager, Context context, String[] blocklistVersions) {
38         // Run the default commands.
39         super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
40
41         // Store the class variables.
42         this.context = context;
43         this.blocklistVersions = blocklistVersions;
44     }
45
46     @Override
47     // Get the count of the number of tabs.
48     public int getCount() {
49         return 7;
50     }
51
52     @Override
53     // Get the name of each tab.  Tab numbers start at 0.
54     public CharSequence getPageTitle(int tab) {
55         switch (tab) {
56             case 0:
57                 return context.getString(R.string.version);
58
59             case 1:
60                 return context.getString(R.string.permissions);
61
62             case 2:
63                 return context.getString(R.string.privacy_policy);
64
65             case 3:
66                 return context.getString(R.string.changelog);
67
68             case 4:
69                 return context.getString(R.string.licenses);
70
71             case 5:
72                 return context.getString(R.string.contributors);
73
74             case 6:
75                 return context.getString(R.string.links);
76
77             default:
78                 return "";
79         }
80     }
81
82     @Override
83     @NonNull
84     // Setup each tab.
85     public Fragment getItem(int tabNumber) {
86         return AboutTabFragment.createTab(tabNumber, blocklistVersions);
87     }
88 }