X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fadapters%2FWebViewPagerAdapter.java;h=256e654236d7fe5b0ed7fdb0e7680c9882d0b0bb;hp=d7ea9cf072984bc83b71e041d63d3f762b5ea98c;hb=7dcfe46842e801486a3696bea379602350e6891a;hpb=9d5e4c56326502b6b74e8f3e463275f5c1e176cc diff --git a/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java b/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java index d7ea9cf0..256e6542 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java +++ b/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java @@ -19,14 +19,15 @@ package com.stoutner.privacybrowser.adapters; -import com.stoutner.privacybrowser.fragments.WebViewTabFragment; - -import java.util.LinkedList; - 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 com.stoutner.privacybrowser.fragments.WebViewTabFragment; + +import java.util.LinkedList; public class WebViewPagerAdapter extends FragmentPagerAdapter { // The WebView fragments list contains all the WebViews. @@ -92,20 +93,28 @@ public class WebViewPagerAdapter extends FragmentPagerAdapter { return position; } - public void addPage(int pageNumber) { + public void addPage(int pageNumber, ViewPager webViewPager, String url) { // Add a new page. - webViewFragmentsList.add(WebViewTabFragment.createPage(pageNumber)); + webViewFragmentsList.add(WebViewTabFragment.createPage(pageNumber, url)); // Update the view pager. notifyDataSetChanged(); + + // Move to the new page if it isn't the first one. + if (pageNumber > 0) { + webViewPager.setCurrentItem(pageNumber); + } } - public void deletePage(int pageNumber) { + public boolean deletePage(int pageNumber, ViewPager webViewPager) { // Delete the page. webViewFragmentsList.remove(pageNumber); // Update the view pager. notifyDataSetChanged(); + + // Return true if the selected page number did not change after the delete. This will cause the calling method to reset the current WebView to the new contents of this page number. + return (webViewPager.getCurrentItem() == pageNumber); } public WebViewTabFragment getPageFragment(int pageNumber) {