Release 3.9.
[PrivacyBrowser.git] / app / src / main / java / com / stoutner / privacybrowser / dialogs / PinnedMismatchDialog.kt
index c3a5c7fed3034a741b36014982cf270aaa9fed18..e80cdc47b31e00b77bf7cc16819f2523f3fb6dff 100644 (file)
 
 package com.stoutner.privacybrowser.dialogs
 
-import android.annotation.SuppressLint
 import android.app.Dialog
 import android.content.Context
 import android.content.DialogInterface
-import android.content.res.Configuration
 import android.graphics.drawable.BitmapDrawable
 import android.graphics.drawable.Drawable
 import android.os.Bundle
@@ -84,8 +82,6 @@ class PinnedMismatchDialog : DialogFragment() {
         }
     }
 
-    // `@SuppressLint("InflateParams")` removes the warning about using `null` as the parent view group when inflating the alert dialog.
-    @SuppressLint("InflateParams")
     override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
         // Get the WebView fragment ID.
         val webViewFragmentId = requireArguments().getLong(WEBVIEW_FRAGMENT_ID)
@@ -106,7 +102,7 @@ class PinnedMismatchDialog : DialogFragment() {
         val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
 
         // Get the favorite icon.
-        val favoriteIconBitmap = nestedScrollWebView.favoriteOrDefaultIcon
+        val favoriteIconBitmap = nestedScrollWebView.getFavoriteOrDefaultIcon()
 
         // Get the default favorite icon drawable.  `ContextCompat` must be used until API >= 21.
         val defaultFavoriteIconDrawable = ContextCompat.getDrawable(requireContext(), R.drawable.world)
@@ -119,15 +115,8 @@ class PinnedMismatchDialog : DialogFragment() {
 
         // Set the favorite icon as the dialog icon if it exists.
         if (favoriteIconBitmap.sameAs(defaultFavoriteIconBitmap)) {  // There is no website favorite icon.
-            // Get the current theme status.
-            val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
-
             // Set the icon according to the theme.
-            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_day)
-            } else {
-                dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_night)
-            }
+            dialogBuilder.setIconAttribute(R.attr.sslCertificateBlueIcon)
         } else {  // There is a favorite icon.
             // Create a drawable version of the favorite icon.
             val favoriteIconDrawable: Drawable = BitmapDrawable(resources, favoriteIconBitmap)
@@ -139,8 +128,8 @@ class PinnedMismatchDialog : DialogFragment() {
         // Set the title.
         dialogBuilder.setTitle(R.string.pinned_mismatch)
 
-        // Set the layout.  The parent view is `null` because it will be assigned by the alert dialog.
-        dialogBuilder.setView(layoutInflater.inflate(R.layout.pinned_mismatch_linearlayout, null))
+        // Set the layout.
+        dialogBuilder.setView(R.layout.pinned_mismatch_linearlayout)
 
         // Set the update button listener.
         dialogBuilder.setNeutralButton(R.string.update) { _: DialogInterface?, _: Int ->
@@ -171,7 +160,7 @@ class PinnedMismatchDialog : DialogFragment() {
             }
 
             // Update the IP addresses if they are pinned.
-            if (nestedScrollWebView.hasPinnedIpAddresses()) {
+            if (nestedScrollWebView.pinnedIpAddresses != "") {
                 // Update the pinned IP addresses in the domain database.
                 domainsDatabaseHelper.updatePinnedIpAddresses(nestedScrollWebView.domainSettingsDatabaseId, nestedScrollWebView. currentIpAddresses)
 
@@ -194,7 +183,7 @@ class PinnedMismatchDialog : DialogFragment() {
         // Set the proceed button listener.
         dialogBuilder.setPositiveButton(R.string.proceed) { _: DialogInterface?, _: Int ->
             // Do not check the pinned information for this domain again until the domain changes.
-            nestedScrollWebView.setIgnorePinnedDomainInformation(true)
+            nestedScrollWebView.ignorePinnedDomainInformation = true
         }
 
         // Create an alert dialog from the alert dialog builder.