From 014c94a031eded42f5507b89af41f2bfb9867828 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Thu, 21 Mar 2024 11:44:03 +0100 Subject: [PATCH] Do not show extended proxy details in App Settings if proxy type is system or none (#661) Fixes: #660 --- .../davdroid/ui/AppSettingsActivity.kt | 76 ++++++++++--------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/AppSettingsActivity.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/AppSettingsActivity.kt index 75cfefe1..b69da856 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/AppSettingsActivity.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/AppSettingsActivity.kt @@ -284,45 +284,47 @@ class AppSettingsActivity: AppCompatActivity() { onDismiss = { showProxyTypeInputDialog = false } ) - var showProxyHostNameInputDialog by remember { mutableStateOf(false) } - Setting( - name = stringResource(R.string.app_settings_proxy_host), - summary = proxyHostName - ) { - showProxyHostNameInputDialog = true - } - if (showProxyHostNameInputDialog) - EditTextInputDialog( - title = stringResource(R.string.app_settings_proxy_host), - initialValue = proxyHostName, - keyboardType = KeyboardType.Uri, - onValueEntered = onProxyHostNameUpdated, - onDismiss = { showProxyHostNameInputDialog = false } - ) + if (proxyType !in listOf(Settings.PROXY_TYPE_SYSTEM, Settings.PROXY_TYPE_NONE)) { + var showProxyHostNameInputDialog by remember { mutableStateOf(false) } + Setting( + name = stringResource(R.string.app_settings_proxy_host), + summary = proxyHostName + ) { + showProxyHostNameInputDialog = true + } + if (showProxyHostNameInputDialog) + EditTextInputDialog( + title = stringResource(R.string.app_settings_proxy_host), + initialValue = proxyHostName, + keyboardType = KeyboardType.Uri, + onValueEntered = onProxyHostNameUpdated, + onDismiss = { showProxyHostNameInputDialog = false } + ) - var showProxyPortInputDialog by remember { mutableStateOf(false) } - Setting( - name = stringResource(R.string.app_settings_proxy_port), - summary = proxyPort?.toString() - ) { - showProxyPortInputDialog = true + var showProxyPortInputDialog by remember { mutableStateOf(false) } + Setting( + name = stringResource(R.string.app_settings_proxy_port), + summary = proxyPort?.toString() + ) { + showProxyPortInputDialog = true + } + if (showProxyPortInputDialog) + EditTextInputDialog( + title = stringResource(R.string.app_settings_proxy_port), + initialValue = proxyPort?.toString(), + keyboardType = KeyboardType.Number, + onValueEntered = { + try { + val newPort = it.toInt() + if (newPort in 1..65535) + onProxyPortUpdated(newPort) + } catch (_: NumberFormatException) { + // user entered invalid port number + } + }, + onDismiss = { showProxyPortInputDialog = false } + ) } - if (showProxyPortInputDialog) - EditTextInputDialog( - title = stringResource(R.string.app_settings_proxy_port), - initialValue = proxyPort?.toString(), - keyboardType = KeyboardType.Number, - onValueEntered = { - try { - val newPort = it.toInt() - if (newPort in 1..65535) - onProxyPortUpdated(newPort) - } catch(_: NumberFormatException) { - // user entered invalid port number - } - }, - onDismiss = { showProxyPortInputDialog = false } - ) } @Composable