X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fdialogs%2FUrlHistoryDialog.kt;h=eedd644778532636c9116bf8fda08befd32c68d0;hb=60e583d7aa5272bc0293797af77e6167f18887b3;hp=23cdd5f20acdd373cd2e40e7ac2f0152e3ba5b23;hpb=c2b5bdf009503f6761dc830fb65502ad2910c284;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/dialogs/UrlHistoryDialog.kt b/app/src/main/java/com/stoutner/privacybrowser/dialogs/UrlHistoryDialog.kt index 23cdd5f2..eedd6447 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/dialogs/UrlHistoryDialog.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/dialogs/UrlHistoryDialog.kt @@ -1,5 +1,5 @@ /* - * Copyright 2016-2022 Soren Stoutner . + * Copyright 2016-2024 Soren Stoutner . * * This file is part of Privacy Browser Android . * @@ -29,7 +29,6 @@ import android.view.WindowManager import android.widget.AdapterView import android.widget.AdapterView.OnItemClickListener import android.widget.ListView -import android.widget.TextView import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat @@ -43,28 +42,10 @@ import com.stoutner.privacybrowser.dataclasses.HistoryDataClass import com.stoutner.privacybrowser.views.NestedScrollWebView // Define the class constants. -private const val WEBVIEW_FRAGMENT_ID = "webview_fragment_id" +private const val WEBVIEW_FRAGMENT_ID = "A" class UrlHistoryDialog : DialogFragment() { - // Declare the class variables. - private lateinit var navigateHistoryListener: NavigateHistoryListener - - // The public interface is used to send information back to the parent activity. - interface NavigateHistoryListener { - fun navigateHistory(url: String, steps: Int) - } - - override fun onAttach(context: Context) { - // Run the default commands. - super.onAttach(context) - - // Get a handle for the listener from the launching context. - navigateHistoryListener = context as NavigateHistoryListener - } - companion object { - // `@JvmStatic` will no longer be required once all the code has transitioned to Kotlin. - @JvmStatic fun loadBackForwardList(webViewFragmentId: Long): UrlHistoryDialog { // Create an arguments bundle. val argumentsBundle = Bundle() @@ -83,15 +64,31 @@ class UrlHistoryDialog : DialogFragment() { } } + // Declare the class variables. + private lateinit var navigateHistoryListener: NavigateHistoryListener + + // The public interface is used to send information back to the parent activity. + interface NavigateHistoryListener { + fun navigateHistory(steps: Int) + } + + override fun onAttach(context: Context) { + // Run the default commands. + super.onAttach(context) + + // Get a handle for the listener from the launching context. + navigateHistoryListener = context as NavigateHistoryListener + } + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { // Get the WebView fragment ID from the arguments. val webViewFragmentId = requireArguments().getLong(WEBVIEW_FRAGMENT_ID) // Get the current position of this WebView fragment. - val webViewPosition = MainWebViewActivity.webViewPagerAdapter.getPositionForId(webViewFragmentId) + val webViewPosition = MainWebViewActivity.webViewStateAdapter!!.getPositionForId(webViewFragmentId) // Get the WebView tab fragment. - val webViewTabFragment = MainWebViewActivity.webViewPagerAdapter.getPageFragment(webViewPosition) + val webViewTabFragment = MainWebViewActivity.webViewStateAdapter!!.getPageFragment(webViewPosition) // Get the fragment view. val fragmentView = webViewTabFragment.requireView() @@ -183,20 +180,14 @@ class UrlHistoryDialog : DialogFragment() { listView.adapter = historyArrayAdapter // Listen for clicks on entries in the list view. - listView.onItemClickListener = OnItemClickListener { _: AdapterView<*>?, view: View, _: Int, id: Long -> + listView.onItemClickListener = OnItemClickListener { _: AdapterView<*>?, _: View, _: Int, id: Long -> // Convert the long ID to an int. val itemId = id.toInt() // Only consume the click if it is not on the current page ID. if (itemId != currentPageId) { - // Get a handle for the URL text view. - val urlTextView = view.findViewById(R.id.history_url_textview) - - // Get the URL. - val url = urlTextView.text.toString() - - // Invoke the navigate history listener in the calling activity. These commands cannot be run here because they need access to `applyDomainSettings()`. - navigateHistoryListener.navigateHistory(url, currentPageId - itemId) + // Invoke the navigate history listener in the calling activity. Those commands cannot be run here because they need access to `applyDomainSettings()`. + navigateHistoryListener.navigateHistory(currentPageId - itemId) // Dismiss the alert dialog. alertDialog.dismiss()