diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/ConfigScreen.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/ConfigScreen.kt index 7cd23825..511bba82 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/ConfigScreen.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/main/config/ConfigScreen.kt @@ -1,5 +1,6 @@ package com.zaneschepke.wireguardautotunnel.ui.screens.main.config +import android.view.WindowManager import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize @@ -13,6 +14,7 @@ import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -24,6 +26,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.zaneschepke.wireguardautotunnel.MainActivity import com.zaneschepke.wireguardautotunnel.R import com.zaneschepke.wireguardautotunnel.domain.entity.TunnelConf import com.zaneschepke.wireguardautotunnel.ui.common.navigation.TopNavBar @@ -43,6 +46,19 @@ fun ConfigScreen(tunnelConf: TunnelConf?, viewModel: ConfigViewModel = hiltViewM val uiState by viewModel.uiState.collectAsStateWithLifecycle() + val activity = context as? MainActivity + + // Secure screen due to sensitive information + DisposableEffect(Unit) { + activity?.window?.setFlags( + WindowManager.LayoutParams.FLAG_SECURE, + WindowManager.LayoutParams.FLAG_SECURE, + ) + onDispose { + activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) + } + } + LaunchedEffect(tunnelConf) { viewModel.initFromTunnel(tunnelConf) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0695d834..74922a1d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,7 +12,7 @@ espressoCore = "3.6.1" hiltAndroid = "2.56.1" hiltCompiler = "1.2.0" junit = "4.13.2" -kotlinx-serialization-json = "1.8.0" +kotlinx-serialization-json = "1.8.1" lifecycle-runtime-compose = "2.8.7" material3 = "1.3.1" navigationCompose = "2.8.9"