summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson90@gmail.com>2023-09-28 15:42:29 +0200
committerDavid Göransson <david.goransson90@gmail.com>2023-10-02 16:04:03 +0200
commit52927cf4538ca3db9390f3bd096fe4dcb22a7023 (patch)
tree6b6d0d5bf88fec3706c59f42d3fd1bc215b5ecd6 /android
parent15fa64e7e7feb14c6ae30d20e5b49a37f5192565 (diff)
downloadmullvadvpn-52927cf4538ca3db9390f3bd096fe4dcb22a7023.tar.xz
mullvadvpn-52927cf4538ca3db9390f3bd096fe4dcb22a7023.zip
Add social media to content blockers
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt13
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt7
-rw-r--r--android/lib/resource/src/main/res/values/strings.xml1
4 files changed, 22 insertions, 0 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
index 3ff4719b59..41751ad02d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
@@ -113,6 +113,7 @@ private fun PreviewVpnSettings() {
onToggleBlockMalware = {},
onToggleBlockAdultContent = {},
onToggleBlockGambling = {},
+ onToggleBlockSocialMedia = {},
onDnsClick = {},
onDnsInputChange = {},
onSaveDnsClick = {},
@@ -156,6 +157,7 @@ fun VpnSettingsScreen(
onToggleBlockMalware: (Boolean) -> Unit = {},
onToggleBlockAdultContent: (Boolean) -> Unit = {},
onToggleBlockGambling: (Boolean) -> Unit = {},
+ onToggleBlockSocialMedia: (Boolean) -> Unit = {},
onDnsClick: (index: Int?) -> Unit = {},
onDnsInputChange: (String) -> Unit = {},
onSaveDnsClick: () -> Unit = {},
@@ -396,6 +398,17 @@ fun VpnSettingsScreen(
)
}
+ itemWithDivider {
+ NormalSwitchComposeCell(
+ title = stringResource(R.string.block_social_media_title),
+ isToggled = uiState.contentBlockersOptions.blockSocialMedia,
+ isEnabled = !uiState.isCustomDnsEnabled,
+ onCellClicked = { onToggleBlockSocialMedia(it) },
+ background = MaterialTheme.colorScheme.secondaryContainer,
+ startPadding = Dimens.indentedCellStartPadding
+ )
+ }
+
if (uiState.isCustomDnsEnabled) {
item {
ContentBlockersDisableModeCellSubtitle(
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
index bf799d887a..e3ed6c469d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
@@ -38,6 +38,7 @@ class VpnSettingsFragment : BaseFragment() {
onToggleBlockMalware = vm::onToggleBlockMalware,
onToggleBlockAdultContent = vm::onToggleBlockAdultContent,
onToggleBlockGambling = vm::onToggleBlockGambling,
+ onToggleBlockSocialMedia = vm::onToggleBlockSocialMedia,
onDnsClick = vm::onDnsClick,
onDnsInputChange = vm::onDnsInputChange,
onSaveDnsClick = vm::onSaveDnsClick,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt
index 7d3344d948..2c8e30f2b4 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt
@@ -290,6 +290,13 @@ class VpnSettingsViewModel(
showApplySettingChangesWarningToast()
}
+ fun onToggleBlockSocialMedia(isEnabled: Boolean) {
+ updateDefaultDnsOptionsViaRepository(
+ vmState.value.contentBlockersOptions.copy(blockSocialMedia = isEnabled)
+ )
+ showApplySettingChangesWarningToast()
+ }
+
fun onRemoveDnsClick() =
viewModelScope.launch(dispatcher) {
val dialog =
diff --git a/android/lib/resource/src/main/res/values/strings.xml b/android/lib/resource/src/main/res/values/strings.xml
index 6b1486fe56..988b343c19 100644
--- a/android/lib/resource/src/main/res/values/strings.xml
+++ b/android/lib/resource/src/main/res/values/strings.xml
@@ -180,6 +180,7 @@
<string name="malware_info">Warning: The malware blocker is not an anti-virus and should not be treated as such, this is just an extra layer of protection.</string>
<string name="block_gambling_title">Gambling</string>
<string name="block_adult_content_title">Adult content</string>
+ <string name="block_social_media_title">Social media</string>
<string name="dns_content_blockers_subtitle">
<![CDATA[Disable <b>%s</b> below to activate these settings.]]>
</string>