/*
- * 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 androidx.preference.PreferenceManager
import com.stoutner.privacybrowser.R
+import com.stoutner.privacybrowser.activities.DOMAINS_CUSTOM_USER_AGENT
+import com.stoutner.privacybrowser.activities.DOMAINS_SYSTEM_DEFAULT_USER_AGENT
+import com.stoutner.privacybrowser.activities.DOMAINS_WEBVIEW_DEFAULT_USER_AGENT
+import com.stoutner.privacybrowser.activities.SETTINGS_CUSTOM_USER_AGENT
+import com.stoutner.privacybrowser.activities.SETTINGS_WEBVIEW_DEFAULT_USER_AGENT
+import com.stoutner.privacybrowser.activities.UNRECOGNIZED_USER_AGENT
import com.stoutner.privacybrowser.activities.DomainsActivity
-import com.stoutner.privacybrowser.activities.MainWebViewActivity
import com.stoutner.privacybrowser.helpers.DomainsDatabaseHelper
import java.lang.IndexOutOfBoundsException
val swipeToRefreshImageView = domainSettingsView.findViewById<ImageView>(R.id.swipe_to_refresh_imageview)
val swipeToRefreshSpinner = domainSettingsView.findViewById<Spinner>(R.id.swipe_to_refresh_spinner)
val swipeToRefreshTextView = domainSettingsView.findViewById<TextView>(R.id.swipe_to_refresh_textview)
+ val webViewThemeLinearLayout = domainSettingsView.findViewById<LinearLayout>(R.id.webview_theme_linearlayout)
val webViewThemeImageView = domainSettingsView.findViewById<ImageView>(R.id.webview_theme_imageview)
val webViewThemeSpinner = domainSettingsView.findViewById<Spinner>(R.id.webview_theme_spinner)
val webViewThemeTextView = domainSettingsView.findViewById<TextView>(R.id.webview_theme_textview)
val currentIpAddressesRadioButton = domainSettingsView.findViewById<RadioButton>(R.id.current_ip_addresses_radiobutton)
val currentIpAddressesTextView = domainSettingsView.findViewById<TextView>(R.id.current_ip_addresses_textview)
+ // Hide the WebView theme linear layout if the API < 29.
+ if (Build.VERSION.SDK_INT < 29)
+ webViewThemeLinearLayout.visibility = View.GONE
+
// Setup the pinned labels.
- val cNameLabel = getString(R.string.common_name) + " "
- val oNameLabel = getString(R.string.organization) + " "
- val uNameLabel = getString(R.string.organizational_unit) + " "
- val startDateLabel = getString(R.string.start_date) + " "
- val endDateLabel = getString(R.string.end_date) + " "
+ val cNameLabel = getString(R.string.common_name)
+ val oNameLabel = getString(R.string.organization)
+ val uNameLabel = getString(R.string.organizational_unit)
+ val startDateLabel = getString(R.string.start_date)
+ val endDateLabel = getString(R.string.end_date)
// Initialize the database handler.
val domainsDatabaseHelper = DomainsDatabaseHelper(requireContext())
// Set the user agent according to the system default.
when (defaultUserAgentArrayPosition) {
// This is probably because it was set in an older version of Privacy Browser before the switch to persistent user agent names.
- MainWebViewActivity.UNRECOGNIZED_USER_AGENT -> userAgentTextView.text = defaultUserAgentName
+ UNRECOGNIZED_USER_AGENT -> userAgentTextView.text = defaultUserAgentName
// Display the WebView default user agent.
- MainWebViewActivity.SETTINGS_WEBVIEW_DEFAULT_USER_AGENT -> userAgentTextView.text = webViewDefaultUserAgentString
+ SETTINGS_WEBVIEW_DEFAULT_USER_AGENT -> userAgentTextView.text = webViewDefaultUserAgentString
// Display the custom user agent.
- MainWebViewActivity.SETTINGS_CUSTOM_USER_AGENT -> userAgentTextView.text = defaultCustomUserAgentString
+ SETTINGS_CUSTOM_USER_AGENT -> userAgentTextView.text = defaultCustomUserAgentString
// Get the user agent string from the user agent data array.
else -> userAgentTextView.text = userAgentDataArray[defaultUserAgentArrayPosition]
}
- } else if (userAgentArrayPosition == MainWebViewActivity.UNRECOGNIZED_USER_AGENT || currentUserAgentName == getString(R.string.custom_user_agent)) {
+ } else if (userAgentArrayPosition == UNRECOGNIZED_USER_AGENT || currentUserAgentName == getString(R.string.custom_user_agent)) {
// A custom user agent is stored in the current user agent name. The second check is necessary in case the user did not change the default custom text.
// Set the user agent spinner to `Custom user agent`.
- userAgentSpinner.setSelection(MainWebViewActivity.DOMAINS_CUSTOM_USER_AGENT)
+ userAgentSpinner.setSelection(DOMAINS_CUSTOM_USER_AGENT)
// Hide the user agent text view.
userAgentTextView.visibility = View.GONE
customUserAgentEditText.visibility = View.GONE
// Set the user agent text.
- if (userAgentArrayPosition == MainWebViewActivity.DOMAINS_WEBVIEW_DEFAULT_USER_AGENT) { // The WebView default user agent is selected.
+ if (userAgentArrayPosition == DOMAINS_WEBVIEW_DEFAULT_USER_AGENT) { // The WebView default user agent is selected.
// Display the WebView default user agent.
userAgentTextView.text = webViewDefaultUserAgentString
} else { // A user agent besides the default is selected.
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
// Set the new user agent.
when (position) {
- MainWebViewActivity.DOMAINS_SYSTEM_DEFAULT_USER_AGENT -> {
+ DOMAINS_SYSTEM_DEFAULT_USER_AGENT -> {
// Show the user agent text view.
userAgentTextView.visibility = View.VISIBLE
// Set the user text.
when (defaultUserAgentArrayPosition) {
// This is probably because it was set in an older version of Privacy Browser before the switch to persistent user agent names.
- MainWebViewActivity.UNRECOGNIZED_USER_AGENT -> userAgentTextView.text = defaultUserAgentName
+ UNRECOGNIZED_USER_AGENT -> userAgentTextView.text = defaultUserAgentName
// Display the `WebView` default user agent.
- MainWebViewActivity.SETTINGS_WEBVIEW_DEFAULT_USER_AGENT -> userAgentTextView.text = webViewDefaultUserAgentString
+ SETTINGS_WEBVIEW_DEFAULT_USER_AGENT -> userAgentTextView.text = webViewDefaultUserAgentString
// Display the custom user agent.
- MainWebViewActivity.SETTINGS_CUSTOM_USER_AGENT -> userAgentTextView.text = defaultCustomUserAgentString
+ SETTINGS_CUSTOM_USER_AGENT -> userAgentTextView.text = defaultCustomUserAgentString
// Get the user agent string from the user agent data array.
else -> userAgentTextView.text = userAgentDataArray[defaultUserAgentArrayPosition]
}
}
- MainWebViewActivity.DOMAINS_WEBVIEW_DEFAULT_USER_AGENT -> {
+ DOMAINS_WEBVIEW_DEFAULT_USER_AGENT -> {
// Show the user agent text view.
userAgentTextView.visibility = View.VISIBLE
customUserAgentEditText.visibility = View.GONE
}
- MainWebViewActivity.DOMAINS_CUSTOM_USER_AGENT -> {
+ DOMAINS_CUSTOM_USER_AGENT -> {
// Hide the user agent TextView.
userAgentTextView.visibility = View.GONE