]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/adapters/AboutPagerAdapter.java
Fix a rare crash in `onBackPresses()`. https://redmine.stoutner.com/issues/651
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / adapters / AboutPagerAdapter.java
index 9d4c9191d3a745d880a9cf89506660110615ae55..27f972906d7a1648a8d526bf6c4ceb3e04e70a76 100644 (file)
@@ -27,12 +27,16 @@ import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentPagerAdapter;
 
 import com.stoutner.privacybrowser.R;
-import com.stoutner.privacybrowser.fragments.AboutTabFragment;
+import com.stoutner.privacybrowser.fragments.AboutVersionFragment;
+import com.stoutner.privacybrowser.fragments.AboutWebViewFragment;
+
+import java.util.LinkedList;
 
 public class AboutPagerAdapter extends FragmentPagerAdapter {
     // Define the class variables.
-    private Context context;
-    private String[] blocklistVersions;
+    private final Context context;
+    private final String[] blocklistVersions;
+    private final LinkedList<Fragment> aboutFragmentList = new LinkedList<>();
 
     public AboutPagerAdapter(FragmentManager fragmentManager, Context context, String[] blocklistVersions) {
         // Run the default commands.
@@ -83,6 +87,21 @@ public class AboutPagerAdapter extends FragmentPagerAdapter {
     @NonNull
     // Setup each tab.
     public Fragment getItem(int tabNumber) {
-        return AboutTabFragment.createTab(tabNumber, blocklistVersions);
+        // Create the tab fragment and add it to the list.
+        if (tabNumber == 0){
+            // Add the version tab to the list.
+            aboutFragmentList.add(AboutVersionFragment.createTab(blocklistVersions));
+        } else {
+            // Add the WebView tab to the list.
+            aboutFragmentList.add(AboutWebViewFragment.createTab(tabNumber));
+        }
+
+        // Return the tab number fragment.
+        return aboutFragmentList.get(tabNumber);
+    }
+
+    public Fragment getTabFragment(int tabNumber) {
+        // Return the tab fragment.
+        return aboutFragmentList.get(tabNumber);
     }
 }
\ No newline at end of file