X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Factivities%2FDomainsActivity.kt;h=96de49fa03c178f7f5042855f2dfbe90e9a8ab76;hb=5987e0cf5095be146f4fdece1d6d01b5a4cc128d;hp=1866a66dee1ec420be37acc4c6cb74adbc2367ca;hpb=be1d361c9ca97f21ca9298d72b07e4a57788fe56;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 1866a66d..96de49fa 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-2023 Soren Stoutner . + * Copyright 2017-2024 Soren Stoutner . * * This file is part of Privacy Browser Android . * @@ -35,8 +35,8 @@ import android.widget.RadioButton import android.widget.ScrollView import android.widget.Spinner import android.widget.TextView -import androidx.activity.OnBackPressedCallback +import androidx.activity.OnBackPressedCallback import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.SwitchCompat import androidx.appcompat.widget.Toolbar @@ -49,12 +49,14 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton import com.google.android.material.snackbar.Snackbar import com.stoutner.privacybrowser.R +import com.stoutner.privacybrowser.dialogs.AddDomainDialog import com.stoutner.privacybrowser.dialogs.AddDomainDialog.AddDomainListener -import com.stoutner.privacybrowser.dialogs.AddDomainDialog.Companion.addDomain import com.stoutner.privacybrowser.fragments.DomainSettingsFragment import com.stoutner.privacybrowser.fragments.DomainsListFragment import com.stoutner.privacybrowser.fragments.DomainsListFragment.DismissSnackbarInterface import com.stoutner.privacybrowser.fragments.DomainsListFragment.SaveDomainSettingsInterface +import com.stoutner.privacybrowser.helpers.DOMAIN_NAME +import com.stoutner.privacybrowser.helpers.ID import com.stoutner.privacybrowser.helpers.DomainsDatabaseHelper // Define the public constants. @@ -155,9 +157,6 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI // Get the status of close-on-back, which is true when the domains activity is called from the options menu. closeOnBack = intent.getBooleanExtra(CLOSE_ON_BACK, false) - // Get the current URL. - val currentUrl = intent.getStringExtra(CURRENT_URL) - // Store the current SSL certificate information in class variables. sslIssuedToCName = intent.getStringExtra(SSL_ISSUED_TO_CNAME) sslIssuedToOName = intent.getStringExtra(SSL_ISSUED_TO_ONAME) @@ -198,7 +197,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI // Configure the add domain floating action button. addDomainFAB.setOnClickListener { // Create an add domain dialog. - val addDomainDialog: DialogFragment = addDomain(currentUrl) + val addDomainDialog: DialogFragment = AddDomainDialog() // Show the add domain dialog. addDomainDialog.show(supportFragmentManager, resources.getString(R.string.add_domain)) @@ -485,7 +484,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI override fun bindView(view: View, context: Context, cursor: Cursor) { // Get the domain name string. - val domainNameString = cursor.getString(cursor.getColumnIndexOrThrow(DomainsDatabaseHelper.DOMAIN_NAME)) + val domainNameString = cursor.getString(cursor.getColumnIndexOrThrow(DOMAIN_NAME)) // Get a handle for the domain name text view. val domainNameTextView = view.findViewById(R.id.domain_name_textview) @@ -535,7 +534,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI override fun bindView(view: View, context: Context, cursor: Cursor) { /// Get the domain name string. - val domainNameString = cursor.getString(cursor.getColumnIndexOrThrow(DomainsDatabaseHelper.DOMAIN_NAME)) + val domainNameString = cursor.getString(cursor.getColumnIndexOrThrow(DOMAIN_NAME)) // Get a handle for the domain name text view. val domainNameTextView = view.findViewById(R.id.domain_name_textview) @@ -692,19 +691,19 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI override fun saveDomainSettings(view: View) { // Get handles for the domain settings. val domainNameEditText = view.findViewById(R.id.domain_settings_name_edittext) - val javaScriptSwitch = view.findViewById(R.id.javascript_switch) - val cookiesSwitch = view.findViewById(R.id.cookies_switch) - val domStorageSwitch = view.findViewById(R.id.dom_storage_switch) - val formDataSwitch = view.findViewById(R.id.form_data_switch) // Form data can be removed once the minimum API >= 26. - val easyListSwitch = view.findViewById(R.id.easylist_switch) - val easyPrivacySwitch = view.findViewById(R.id.easyprivacy_switch) - val fanboysAnnoyanceSwitch = view.findViewById(R.id.fanboys_annoyance_list_switch) - val fanboysSocialBlockingSwitch = view.findViewById(R.id.fanboys_social_blocking_list_switch) - val ultraListSwitch = view.findViewById(R.id.ultralist_switch) - val ultraPrivacySwitch = view.findViewById(R.id.ultraprivacy_switch) - val blockAllThirdPartyRequestsSwitch = view.findViewById(R.id.block_all_third_party_requests_switch) + val javaScriptSpinner = view.findViewById(R.id.javascript_spinner) + val cookiesSpinner = view.findViewById(R.id.cookies_spinner) + val domStorageSpinner = view.findViewById(R.id.dom_storage_spinner) + val formDataSpinner = view.findViewById(R.id.form_data_spinner) // Form data can be removed once the minimum API >= 26. val userAgentSpinner = view.findViewById(R.id.user_agent_spinner) val customUserAgentEditText = view.findViewById(R.id.custom_user_agent_edittext) + val easyListSpinner = view.findViewById(R.id.easylist_spinner) + val easyPrivacySpinner = view.findViewById(R.id.easyprivacy_spinner) + val fanboysAnnoyanceSpinner = view.findViewById(R.id.fanboys_annoyance_list_spinner) + val fanboysSocialBlockingSpinner = view.findViewById(R.id.fanboys_social_blocking_list_spinner) + val ultraListSpinner = view.findViewById(R.id.ultralist_spinner) + val ultraPrivacySpinner = view.findViewById(R.id.ultraprivacy_spinner) + val blockAllThirdPartyRequestsSpinner = view.findViewById(R.id.block_all_third_party_requests_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) @@ -718,18 +717,18 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI // Extract the data for the domain settings. val domainNameString = domainNameEditText.text.toString() - val javaScript = javaScriptSwitch.isChecked - val cookies = cookiesSwitch.isChecked - val domStorage = domStorageSwitch.isChecked - val formData = formDataSwitch.isChecked // Form data can be removed once the minimum API >= 26. - val easyList = easyListSwitch.isChecked - val easyPrivacy = easyPrivacySwitch.isChecked - val fanboysAnnoyance = fanboysAnnoyanceSwitch.isChecked - val fanboysSocialBlocking = fanboysSocialBlockingSwitch.isChecked - val ultraList = ultraListSwitch.isChecked - val ultraPrivacy = ultraPrivacySwitch.isChecked - val blockAllThirdPartyRequests = blockAllThirdPartyRequestsSwitch.isChecked + val javaScriptInt = javaScriptSpinner.selectedItemPosition + val cookiesInt = cookiesSpinner.selectedItemPosition + val domStorageInt = domStorageSpinner.selectedItemPosition + val formDataInt = formDataSpinner.selectedItemPosition // Form data can be removed once the minimum API >= 26. val userAgentSwitchPosition = userAgentSpinner.selectedItemPosition + val easyListInt = easyListSpinner.selectedItemPosition + val easyPrivacyInt = easyPrivacySpinner.selectedItemPosition + val fanboysAnnoyanceInt = fanboysAnnoyanceSpinner.selectedItemPosition + val fanboysSocialBlockingInt = fanboysSocialBlockingSpinner.selectedItemPosition + val ultraListInt = ultraListSpinner.selectedItemPosition + val ultraPrivacyInt = ultraPrivacySpinner.selectedItemPosition + val blockAllThirdPartyRequestsInt = blockAllThirdPartyRequestsSpinner.selectedItemPosition val fontSizeSwitchPosition = fontSizeSpinner.selectedItemPosition val swipeToRefreshInt = swipeToRefreshSpinner.selectedItemPosition val webViewThemeInt = webViewThemeSpinner.selectedItemPosition @@ -763,8 +762,8 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI fontSizeInt = customFontSizeEditText.text.toString().toInt() // Save the domain settings. - domainsDatabaseHelper.updateDomain(currentDomainDatabaseId, domainNameString, javaScript, cookies, domStorage, formData, easyList, easyPrivacy, fanboysAnnoyance, fanboysSocialBlocking, ultraList, - ultraPrivacy, blockAllThirdPartyRequests, userAgentName, fontSizeInt, swipeToRefreshInt, webViewThemeInt, wideViewportInt, displayWebpageImagesInt, + domainsDatabaseHelper.updateDomain(currentDomainDatabaseId, domainNameString, javaScriptInt, cookiesInt, domStorageInt, formDataInt, userAgentName, easyListInt, easyPrivacyInt, fanboysAnnoyanceInt, + fanboysSocialBlockingInt, ultraListInt, ultraPrivacyInt, blockAllThirdPartyRequestsInt, fontSizeInt, swipeToRefreshInt, webViewThemeInt, wideViewportInt, displayWebpageImagesInt, pinnedSslCertificate, pinnedIpAddress) // Update the pinned SSL certificate if a new one is checked. @@ -793,7 +792,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI val domainNameTextView = view.findViewById(R.id.domain_name_textview) // Get the domain name string. - val domainNameString = cursor.getString(cursor.getColumnIndexOrThrow(DomainsDatabaseHelper.DOMAIN_NAME)) + val domainNameString = cursor.getString(cursor.getColumnIndexOrThrow(DOMAIN_NAME)) // Set the domain name. domainNameTextView.text = domainNameString @@ -820,7 +819,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI domainsCursor.moveToPosition(i) // Get the database ID for this position. - val currentDatabaseId = domainsCursor.getInt(domainsCursor.getColumnIndexOrThrow(DomainsDatabaseHelper.ID)) + val currentDatabaseId = domainsCursor.getInt(domainsCursor.getColumnIndexOrThrow(ID)) // Set the highlighted domain position if the database ID for this matches the highlighted domain database ID. if (highlightedDomainDatabaseId == currentDatabaseId) @@ -834,7 +833,7 @@ class DomainsActivity : AppCompatActivity(), AddDomainListener, DismissSnackbarI domainsCursor.moveToPosition(highlightedDomainPosition) // Get the database ID for the highlighted domain. - currentDomainDatabaseId = domainsCursor.getInt(domainsCursor.getColumnIndexOrThrow(DomainsDatabaseHelper.ID)) + currentDomainDatabaseId = domainsCursor.getInt(domainsCursor.getColumnIndexOrThrow(ID)) // Create an arguments bundle. val argumentsBundle = Bundle()