]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.kt
Highlight the background of non-default domain settings. https://redmine.stoutner...
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / activities / DomainsActivity.kt
index 949b678a90e06cd325072b97dc0618d02a8ed818..1866a66dee1ec420be37acc4c6cb74adbc2367ca 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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>.
  *
@@ -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<View?>(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<View?>(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<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)
@@ -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.