From f2b9eb526e104195d1ac20a8c882daf8729d179b Mon Sep 17 00:00:00 2001 From: Zane Schepke Date: Mon, 21 Apr 2025 06:56:16 -0400 Subject: [PATCH] fix: amnezia compatibility action closes #711 --- .../ui/screens/main/config/components/InterfaceSection.kt | 7 +++++-- .../wireguardautotunnel/ui/state/InterfaceProxy.kt | 5 +---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/components/InterfaceSection.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/components/InterfaceSection.kt index 82a4c67b..f9756c58 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/components/InterfaceSection.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/components/InterfaceSection.kt @@ -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, diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/state/InterfaceProxy.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/state/InterfaceProxy.kt index 7ba2e270..d07f7e58 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/state/InterfaceProxy.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/state/InterfaceProxy.kt @@ -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 &&