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
}
}
- // `@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)
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)
// 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.
dialogBuilder.setIconAttribute(R.attr.sslCertificateBlueIcon)
} else { // There is a favorite icon.
// 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 ->
}
// 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)
// 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.