diff --git a/backend/mpc-system/services/service-party-android/app/src/main/java/com/durian/tssparty/MainActivity.kt b/backend/mpc-system/services/service-party-android/app/src/main/java/com/durian/tssparty/MainActivity.kt index 3ac592fc..0512022f 100644 --- a/backend/mpc-system/services/service-party-android/app/src/main/java/com/durian/tssparty/MainActivity.kt +++ b/backend/mpc-system/services/service-party-android/app/src/main/java/com/durian/tssparty/MainActivity.kt @@ -13,6 +13,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.layout.* import androidx.compose.material3.* import androidx.compose.runtime.* +import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.hilt.navigation.compose.hiltViewModel @@ -114,8 +115,9 @@ fun TssPartyApp( // Export/Import file handling val context = LocalContext.current - var pendingExportJson by remember { mutableStateOf(null) } - var pendingExportAddress by remember { mutableStateOf(null) } + // Use rememberSaveable to persist across configuration changes (e.g., file picker activity) + var pendingExportJson by rememberSaveable { mutableStateOf(null) } + var pendingExportAddress by rememberSaveable { mutableStateOf(null) } // File picker for saving backup val createDocumentLauncher = rememberLauncherForActivityResult( @@ -180,7 +182,8 @@ fun TssPartyApp( } // Track if startup is complete - var startupComplete by remember { mutableStateOf(false) } + // Use rememberSaveable to persist across configuration changes (e.g., file picker activity) + var startupComplete by rememberSaveable { mutableStateOf(false) } // Handle success messages LaunchedEffect(uiState.successMessage) {