fix: amnezia compatibility action

closes #711
This commit is contained in:
Zane Schepke
2025-04-21 06:56:16 -04:00
parent abb29607d3
commit f2b9eb526e
2 changed files with 6 additions and 6 deletions
@@ -27,6 +27,10 @@ import com.zaneschepke.wireguardautotunnel.ui.screens.main.config.state.ConfigUi
@Composable
fun InterfaceSection(uiState: ConfigUiState, viewModel: ConfigViewModel) {
var isDropDownExpanded by remember { mutableStateOf(false) }
val isAmneziaCompatibilitySet =
remember(uiState.configProxy.`interface`) {
uiState.configProxy.`interface`.isAmneziaCompatibilityModeSet()
}
Surface(shape = RoundedCornerShape(12.dp), color = MaterialTheme.colorScheme.surface) {
Column(
@@ -44,8 +48,7 @@ fun InterfaceSection(uiState: ConfigUiState, viewModel: ConfigViewModel) {
onExpandedChange = { isDropDownExpanded = it },
showScripts = uiState.showScripts,
showAmneziaValues = uiState.showAmneziaValues,
isAmneziaCompatibilitySet =
uiState.configProxy.`interface`.isAmneziaCompatibilityModeSet(),
isAmneziaCompatibilitySet = isAmneziaCompatibilitySet,
onToggleScripts = viewModel::toggleScripts,
onToggleAmneziaValues = viewModel::toggleAmneziaValues,
onToggleAmneziaCompatibility = viewModel::toggleAmneziaCompatibility,
@@ -75,10 +75,7 @@ data class InterfaceProxy(
}
fun isAmneziaCompatibilityModeSet(): Boolean {
return junkPacketCount.toIntOrNull() in 3..<5 &&
junkPacketMinSize.toIntOrNull() == 40 &&
junkPacketMaxSize.toIntOrNull() == 70 &&
with(initPacketJunkSize.toIntOrNull()) { this == 0 || this == null } &&
return with(initPacketJunkSize.toIntOrNull()) { this == 0 || this == null } &&
with(responsePacketJunkSize.toIntOrNull()) { this == 0 || this == null } &&
initPacketMagicHeader.toLongOrNull() == 1L &&
responsePacketMagicHeader.toLongOrNull() == 2L &&