X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Factivities%2FDomainsActivity.kt;h=1866a66dee1ec420be37acc4c6cb74adbc2367ca;hb=be1d361c9ca97f21ca9298d72b07e4a57788fe56;hp=949b678a90e06cd325072b97dc0618d02a8ed818;hpb=a156c3942ca31a1afca3271245cc2bda7ed5aed8;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.kt b/app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.kt index 949b678a..1866a66d 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.kt @@ -1,5 +1,5 @@ /* - * Copyright 2017-2022 Soren Stoutner . + * Copyright 2017-2023 Soren Stoutner . * * This file is part of Privacy Browser Android . * @@ -57,6 +57,19 @@ import com.stoutner.privacybrowser.fragments.DomainsListFragment.DismissSnackbar 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" @@ -65,20 +78,6 @@ private const val LISTVIEW_POSITION = "listview_position" 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`. @@ -205,10 +204,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI addDomainDialog.show(supportFragmentManager, resources.getString(R.string.add_domain)) } - // Get a handle for the activity. - val activity: Activity = this - - // Control what the navigation bar back button does. + // Control what the system back command does. val onBackPressedCallback: OnBackPressedCallback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { if (twoPanedMode) { // The device is in two-paned mode. @@ -225,14 +221,14 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI undoDeleteSnackbar!!.dismiss() } else { // Go home. - NavUtils.navigateUpFromSameTask(activity) + finish() } } else if (closeOnBack) { // Go directly back to the main WebView activity because the domains activity was launched from the options menu. // Save the current domain settings. saveDomainSettings(coordinatorLayout) // Go home. - NavUtils.navigateUpFromSameTask(activity) + finish() } else if (findViewById(R.id.domain_settings_scrollview) != null) { // The device is in single-paned mode and domain settings fragment is displayed. // Save the current domain settings. saveDomainSettings(coordinatorLayout) @@ -261,7 +257,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI undoDeleteSnackbar!!.dismiss() } else { // Go home. - NavUtils.navigateUpFromSameTask(activity) + finish() } } } @@ -394,14 +390,14 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI undoDeleteSnackbar!!.dismiss() } else { // Go home. - NavUtils.navigateUpFromSameTask(this) + finish() } } else if (closeOnBack) { // Go directly back to the main WebView activity because the domains activity was launched from the options menu. // Save the current domain settings. saveDomainSettings(coordinatorLayout) // Go home. - NavUtils.navigateUpFromSameTask(this) + finish() } else if (findViewById(R.id.domain_settings_scrollview) != null) { // The device is in single-paned mode and the domain settings fragment is displayed. // Save the current domain settings. saveDomainSettings(coordinatorLayout) @@ -430,7 +426,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI undoDeleteSnackbar!!.dismiss() } else { // Go home. - NavUtils.navigateUpFromSameTask(this) + finish() } } } @@ -651,7 +647,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI } } - 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() @@ -709,13 +705,12 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI val blockAllThirdPartyRequestsSwitch = view.findViewById(R.id.block_all_third_party_requests_switch) val userAgentSpinner = view.findViewById(R.id.user_agent_spinner) val customUserAgentEditText = view.findViewById(R.id.custom_user_agent_edittext) - val xRequestedWithHeaderSpinner = view.findViewById(R.id.x_requested_with_header_spinner) val fontSizeSpinner = view.findViewById(R.id.font_size_spinner) val customFontSizeEditText = view.findViewById(R.id.custom_font_size_edittext) val swipeToRefreshSpinner = view.findViewById(R.id.swipe_to_refresh_spinner) val webViewThemeSpinner = view.findViewById(R.id.webview_theme_spinner) val wideViewportSpinner = view.findViewById(R.id.wide_viewport_spinner) - val displayWebpageImagesSpinner = view.findViewById(R.id.display_webpage_images_spinner) + val displayWebpageImagesSpinner = view.findViewById(R.id.display_images_spinner) val pinnedSslCertificateSwitch = view.findViewById(R.id.pinned_ssl_certificate_switch) val currentWebsiteCertificateRadioButton = view.findViewById(R.id.current_website_certificate_radiobutton) val pinnedIpAddressesSwitch = view.findViewById(R.id.pinned_ip_addresses_switch) @@ -735,7 +730,6 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI 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 @@ -746,8 +740,12 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI // 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) @@ -766,7 +764,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI // 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.