/*
- * Copyright 2017-2022 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2017-2023 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
*
import com.stoutner.privacybrowser.fragments.DomainsListFragment.SaveDomainSettingsInterface
import com.stoutner.privacybrowser.helpers.DomainsDatabaseHelper
+// Define the public constants.
+const val CLOSE_ON_BACK = "close_on_back"
+const val CURRENT_IP_ADDRESSES = "current_ip_addresses"
+const val LOAD_DOMAIN = "load_domain"
+const val SSL_END_DATE = "ssl_end_date"
+const val SSL_ISSUED_BY_CNAME = "ssl_issued_by_cname"
+const val SSL_ISSUED_BY_ONAME = "ssl_issued_by_oname"
+const val SSL_ISSUED_BY_UNAME = "ssl_issued_by_uname"
+const val SSL_ISSUED_TO_CNAME = "ssl_issued_to_cname"
+const val SSL_ISSUED_TO_ONAME = "ssl_issued_to_oname"
+const val SSL_ISSUED_TO_UNAME = "ssl_issued_to_uname"
+const val SSL_START_DATE = "ssl_start_date"
+
// Define the class constants.
private const val DOMAIN_SETTINGS_DATABASE_ID = "domain_settings_database_id"
private const val DOMAIN_SETTINGS_DISPLAYED = "domain_settings_displayed"
class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarInterface, SaveDomainSettingsInterface {
companion object {
- // Define the public constants.
- const val CLOSE_ON_BACK = "close_on_back"
- const val CURRENT_IP_ADDRESSES = "current_ip_addresses"
- const val CURRENT_URL = "current_url"
- const val LOAD_DOMAIN = "load_domain"
- const val SSL_END_DATE = "ssl_end_date"
- const val SSL_ISSUED_BY_CNAME = "ssl_issued_by_cname"
- const val SSL_ISSUED_BY_ONAME = "ssl_issued_by_oname"
- const val SSL_ISSUED_BY_UNAME = "ssl_issued_by_uname"
- const val SSL_ISSUED_TO_CNAME = "ssl_issued_to_cname"
- const val SSL_ISSUED_TO_ONAME = "ssl_issued_to_oname"
- const val SSL_ISSUED_TO_UNAME = "ssl_issued_to_uname"
- const val SSL_START_DATE = "ssl_start_date"
-
// Define the public variables.
var currentDomainDatabaseId = 0 // Used in `DomainsListFragment`.
var dismissingSnackbar = false // Used in `DomainsListFragment`.
}
}
- override fun onAddDomain(dialogFragment: DialogFragment) {
+ override fun addDomain(dialogFragment: DialogFragment) {
// Dismiss the undo delete snackbar if it is currently displayed.
if (undoDeleteSnackbar != null && undoDeleteSnackbar!!.isShown)
undoDeleteSnackbar!!.dismiss()
val blockAllThirdPartyRequestsSwitch = view.findViewById<SwitchCompat>(R.id.block_all_third_party_requests_switch)
val userAgentSpinner = view.findViewById<Spinner>(R.id.user_agent_spinner)
val customUserAgentEditText = view.findViewById<EditText>(R.id.custom_user_agent_edittext)
- val xRequestedWithHeaderSpinner = view.findViewById<Spinner>(R.id.x_requested_with_header_spinner)
val fontSizeSpinner = view.findViewById<Spinner>(R.id.font_size_spinner)
val customFontSizeEditText = view.findViewById<EditText>(R.id.custom_font_size_edittext)
val swipeToRefreshSpinner = view.findViewById<Spinner>(R.id.swipe_to_refresh_spinner)
val webViewThemeSpinner = view.findViewById<Spinner>(R.id.webview_theme_spinner)
val wideViewportSpinner = view.findViewById<Spinner>(R.id.wide_viewport_spinner)
- val displayWebpageImagesSpinner = view.findViewById<Spinner>(R.id.display_webpage_images_spinner)
+ val displayWebpageImagesSpinner = view.findViewById<Spinner>(R.id.display_images_spinner)
val pinnedSslCertificateSwitch = view.findViewById<SwitchCompat>(R.id.pinned_ssl_certificate_switch)
val currentWebsiteCertificateRadioButton = view.findViewById<RadioButton>(R.id.current_website_certificate_radiobutton)
val pinnedIpAddressesSwitch = view.findViewById<SwitchCompat>(R.id.pinned_ip_addresses_switch)
val ultraPrivacy = ultraPrivacySwitch.isChecked
val blockAllThirdPartyRequests = blockAllThirdPartyRequestsSwitch.isChecked
val userAgentSwitchPosition = userAgentSpinner.selectedItemPosition
- val xRequestedWithHeaderSwitchInt = xRequestedWithHeaderSpinner.selectedItemPosition
val fontSizeSwitchPosition = fontSizeSpinner.selectedItemPosition
val swipeToRefreshInt = swipeToRefreshSpinner.selectedItemPosition
val webViewThemeInt = webViewThemeSpinner.selectedItemPosition
// Get the user agent name.
val userAgentName: String = when (userAgentSwitchPosition) {
- MainWebViewActivity.DOMAINS_SYSTEM_DEFAULT_USER_AGENT -> resources.getString(R.string.system_default_user_agent) // Set the user agent name to be `System default user agent`.
- MainWebViewActivity.DOMAINS_CUSTOM_USER_AGENT -> customUserAgentEditText.text.toString() // Set the user agent name to be the custom user agent.
+ // Set the user agent name to be `System default user agent`.
+ DOMAINS_SYSTEM_DEFAULT_USER_AGENT -> resources.getString(R.string.system_default_user_agent)
+
+ // Set the user agent name to be the custom user agent.
+ DOMAINS_CUSTOM_USER_AGENT -> customUserAgentEditText.text.toString()
+
else -> {
// Get the array of user agent names.
val userAgentNameArray = resources.getStringArray(R.array.user_agent_names)
// Save the domain settings.
domainsDatabaseHelper.updateDomain(currentDomainDatabaseId, domainNameString, javaScript, cookies, domStorage, formData, easyList, easyPrivacy, fanboysAnnoyance, fanboysSocialBlocking, ultraList,
- ultraPrivacy, blockAllThirdPartyRequests, userAgentName, xRequestedWithHeaderSwitchInt, fontSizeInt, swipeToRefreshInt, webViewThemeInt, wideViewportInt, displayWebpageImagesInt,
+ ultraPrivacy, blockAllThirdPartyRequests, userAgentName, fontSizeInt, swipeToRefreshInt, webViewThemeInt, wideViewportInt, displayWebpageImagesInt,
pinnedSslCertificate, pinnedIpAddress)
// Update the pinned SSL certificate if a new one is checked.