X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fdialogs%2FPinnedMismatchDialog.kt;h=66b08bbbd13937f10c32c9983402f1538be88a31;hb=dc36dea65a4eb37496fb1ecbbd9f8e1906f50216;hp=2d1cdd7d4798e5f2dd62dea89d3040d9838bb82a;hpb=1b27ac6f2b7c046945fc97e2aff9adbde8a152ce;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/dialogs/PinnedMismatchDialog.kt b/app/src/main/java/com/stoutner/privacybrowser/dialogs/PinnedMismatchDialog.kt index 2d1cdd7d..66b08bbb 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/dialogs/PinnedMismatchDialog.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/dialogs/PinnedMismatchDialog.kt @@ -1,5 +1,5 @@ /* - * Copyright © 2017-2022 Soren Stoutner . + * Copyright 2017-2023 Soren Stoutner . * * This file is part of Privacy Browser Android . * @@ -45,25 +45,7 @@ import com.stoutner.privacybrowser.views.NestedScrollWebView private const val WEBVIEW_FRAGMENT_ID = "webview_fragment_id" class PinnedMismatchDialog : DialogFragment() { - // Declare the class variables. - private lateinit var pinnedMismatchListener: PinnedMismatchListener - - // The public interface is used to send information back to the parent activity. - interface PinnedMismatchListener { - fun pinnedErrorGoBack() - } - - override fun onAttach(context: Context) { - // Run the default commands. - super.onAttach(context) - - // Get a handle for the listener from the launching context. - pinnedMismatchListener = context as PinnedMismatchListener - } - companion object { - // `@JvmStatic` will no longer be required once all the code has transitioned to Kotlin. Also, the function can then be moved out of a companion object and just become a package-level function. - @JvmStatic fun displayDialog(webViewFragmentId: Long): PinnedMismatchDialog { // Create an arguments bundle. val argumentsBundle = Bundle() @@ -82,15 +64,31 @@ class PinnedMismatchDialog : DialogFragment() { } } + // Declare the class variables. + private lateinit var pinnedMismatchListener: PinnedMismatchListener + + // The public interface is used to send information back to the parent activity. + interface PinnedMismatchListener { + fun pinnedErrorGoBack() + } + + override fun onAttach(context: Context) { + // Run the default commands. + super.onAttach(context) + + // Get a handle for the listener from the launching context. + pinnedMismatchListener = context as PinnedMismatchListener + } + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { // Get the WebView fragment ID. val webViewFragmentId = requireArguments().getLong(WEBVIEW_FRAGMENT_ID) // Get the current position of this WebView fragment. - val webViewPosition = MainWebViewActivity.webViewPagerAdapter.getPositionForId(webViewFragmentId) + val webViewPosition = MainWebViewActivity.webViewPagerAdapter!!.getPositionForId(webViewFragmentId) // Get the WebView tab fragment. - val webViewTabFragment = MainWebViewActivity.webViewPagerAdapter.getPageFragment(webViewPosition) + val webViewTabFragment = MainWebViewActivity.webViewPagerAdapter!!.getPageFragment(webViewPosition) // Get the fragment view. val fragmentView = webViewTabFragment.requireView() @@ -102,7 +100,7 @@ class PinnedMismatchDialog : DialogFragment() { val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog) // Get the favorite icon. - val favoriteIconBitmap = nestedScrollWebView.getFavoriteOrDefaultIcon() + val favoriteIconBitmap = nestedScrollWebView.getFavoriteIcon() // Get the default favorite icon drawable. `ContextCompat` must be used until API >= 21. val defaultFavoriteIconDrawable = ContextCompat.getDrawable(requireContext(), R.drawable.world) @@ -116,7 +114,7 @@ class PinnedMismatchDialog : DialogFragment() { // Set the favorite icon as the dialog icon if it exists. if (favoriteIconBitmap.sameAs(defaultFavoriteIconBitmap)) { // There is no website favorite icon. // Set the icon. - dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled) + dialogBuilder.setIcon(R.drawable.ssl_certificate) } else { // There is a favorite icon. // Create a drawable version of the favorite icon. val favoriteIconDrawable: Drawable = BitmapDrawable(resources, favoriteIconBitmap) @@ -144,8 +142,8 @@ class PinnedMismatchDialog : DialogFragment() { val currentSslStartDateLong: Long = currentSslStartDate?.time ?: 0 val currentSslEndDateLong: Long = currentSslEndDate?.time ?: 0 - // Initialize the database handler. The `0` specifies the database version, but that is ignored and set instead using a constant in the domains database helper. - val domainsDatabaseHelper = DomainsDatabaseHelper(context, null, null, 0) + // Initialize the database handler. + val domainsDatabaseHelper = DomainsDatabaseHelper(requireContext()) // Update the SSL certificate if it is pinned. if (nestedScrollWebView.hasPinnedSslCertificate()) { @@ -220,4 +218,4 @@ class PinnedMismatchDialog : DialogFragment() { // Return the alert dialog. return alertDialog } -} \ No newline at end of file +}