@@ -29,6 +29,7 @@ import androidx.compose.runtime.Composable
2929import androidx.compose.runtime.getValue
3030import androidx.compose.runtime.mutableStateOf
3131import androidx.compose.runtime.remember
32+import androidx.compose.runtime.saveable.rememberSaveable
3233import androidx.compose.runtime.setValue
3334import androidx.compose.ui.Alignment
3435import androidx.compose.ui.Modifier
@@ -94,7 +95,7 @@ fun PartView(part: Part, modifier: Modifier = Modifier, isRunning: Boolean = fal
9495private fun ReasoningBlock(text: String, streaming: Boolean, modifier: Modifier) {
9596 if (text.isBlank()) return
9697 val context = LocalContext.current
97− var expanded by remember { mutableStateOf(false) }
98+ var expanded by rememberSaveable { mutableStateOf(false) }
9899 val expandedState = stringResource(R.string.state_expanded)
99100 val collapsedState = stringResource(R.string.state_collapsed)
100101 Column(modifier = modifier.fillMaxWidth()) {
@@ -177,7 +178,7 @@ private fun ToolCallView(part: ToolPart, modifier: Modifier) {
177178 }
178179 if (detail != null) {
179180 val collapsed = remember(detail) { detail.take(COLLAPSED_LIMIT) }
180− var expanded by remember(detail) { mutableStateOf(false) }
181+ var expanded by rememberSaveable(detail) { mutableStateOf(false) }
181182 val expandedState = stringResource(R.string.state_expanded)
182183 val collapsedState = stringResource(R.string.state_collapsed)
183184 val display = if (expanded || detail.length <= COLLAPSED_LIMIT) detail else collapsed