X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Ffragments%2FWebViewTabFragment.kt;h=34568cb50ee073a4716b5967671bba2da2626517;hb=b75067d9fa0ab792f623e14e39628448eb8f6145;hp=154ea2dd20849b76d730407fad3ac5929ae8bc2f;hpb=5186b668274b09e37b371c0a134e53255c98ad98;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/fragments/WebViewTabFragment.kt b/app/src/main/java/com/stoutner/privacybrowser/fragments/WebViewTabFragment.kt index 154ea2dd..34568cb5 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/fragments/WebViewTabFragment.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/fragments/WebViewTabFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright © 2019-2020,2022-2023 Soren Stoutner . + * Copyright 2019-2020,2022-2023 Soren Stoutner . * * This file is part of Privacy Browser Android . * @@ -35,11 +35,11 @@ import com.stoutner.privacybrowser.views.NestedScrollWebView import java.util.Calendar // Define the class constants. -private const val CREATE_NEW_PAGE = "create_new_page" -private const val PAGE_NUMBER = "page_number" -private const val URL = "url" -private const val SAVED_STATE = "saved_state" -private const val SAVED_NESTED_SCROLL_WEBVIEW_STATE = "saved_nested_scroll_webview_state" +private const val CREATE_NEW_PAGE = "A" +private const val PAGE_POSITION = "B" +private const val URL = "C" +private const val SAVED_STATE = "D" +private const val SAVED_NESTED_SCROLL_WEBVIEW_STATE = "E" class WebViewTabFragment : Fragment() { // Define the public variables. @@ -48,7 +48,7 @@ class WebViewTabFragment : Fragment() { // The public interface is used to send information back to the parent activity. interface NewTabListener { @SuppressLint("ClickableViewAccessibility") - fun initializeWebView(nestedScrollWebView: NestedScrollWebView, pageNumber: Int, progressBar: ProgressBar, url: String, restoringState: Boolean) + fun initializeWebView(nestedScrollWebView: NestedScrollWebView, pagePosition: Int, progressBar: ProgressBar, urlString: String, restoringState: Boolean) } // Declare the class variables. @@ -64,7 +64,7 @@ class WebViewTabFragment : Fragment() { // Store the argument in the bundle. argumentsBundle.putBoolean(CREATE_NEW_PAGE, true) - argumentsBundle.putInt(PAGE_NUMBER, pageNumber) + argumentsBundle.putInt(PAGE_POSITION, pageNumber) argumentsBundle.putString(URL, url) // Create a new instance of the WebView tab fragment. @@ -105,12 +105,12 @@ class WebViewTabFragment : Fragment() { } override fun onCreateView(layoutInflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - // Check to see if the fragment is being restarted. - return if (savedInstanceState == null) { // The fragment is not being restarted. Load and configure a new fragment. + // Check to see if the fragment is being restarted without the app being killed. + return if (savedInstanceState == null) { // The fragment is not being restarted. It is either new or is being restored after the app was killed. // Check to see if a new page is being created. if (requireArguments().getBoolean(CREATE_NEW_PAGE)) { // A new page is being created. // Get the variables from the arguments - val pageNumber = requireArguments().getInt(PAGE_NUMBER) + val pagePosition = requireArguments().getInt(PAGE_POSITION) val url = requireArguments().getString(URL)!! // Inflate the tab's WebView. Setting false at the end of inflater.inflate does not attach the inflated layout as a child of container. @@ -125,13 +125,13 @@ class WebViewTabFragment : Fragment() { nestedScrollWebView.webViewFragmentId = fragmentId // Request the main activity initialize the WebView. - newTabListener.initializeWebView(nestedScrollWebView, pageNumber, progressBar, url, false) + newTabListener.initializeWebView(nestedScrollWebView, pagePosition, progressBar, url, false) // Return the new page view. newPageView - } else { // A page is being restored. + } else { // A page is being restored after the app was killed. // Get the saved states from the arguments. - val savedState = requireArguments().getBundle(SAVED_STATE) + val savedState = requireArguments().getBundle(SAVED_STATE)!! val savedNestedScrollWebViewState = requireArguments().getBundle(SAVED_NESTED_SCROLL_WEBVIEW_STATE)!! // Inflate the tab's WebView. Setting false at the end of inflater.inflate does not attach the inflated layout as a child of container. @@ -149,7 +149,7 @@ class WebViewTabFragment : Fragment() { nestedScrollWebView.restoreNestedScrollWebViewState(savedNestedScrollWebViewState) // Restore the WebView state. - nestedScrollWebView.restoreState(savedState!!) + nestedScrollWebView.restoreState(savedState) // Initialize the WebView. newTabListener.initializeWebView(nestedScrollWebView, 0, progressBar, "", true)