Skip to content

Commit 76136ec

Browse files
joshtrichardsalperozturk96
authored andcommitted
fix(assistant): resolve LocalContext resource query in LaunchedEffect
Extract string resource retrieval outside LaunchedEffect to ensure proper recomposition on configuration changes. This resolves the LocalContextGetResourceValueCall lint warning and prevents stale snackbar messages when configuration changes occur (e.g., language switches, dark mode toggles). The snackbar message string is now computed in the composable body where LocalContext.current changes trigger recomposition, ensuring the LaunchedEffect always receives up-to-date string values. Fixes lint error: "Querying resource values using LocalContext.current" Signed-off-by: Josh <josh.t.richards@gmail.com>
1 parent 4e8dad7 commit 76136ec

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

app/src/main/java/com/nextcloud/client/assistant/translate/TranslationScreen.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,17 @@ fun TranslationScreen(viewModel: TranslationViewModel, assistantViewModel: Assis
6767
val context = LocalContext.current
6868
val state by viewModel.screenState.collectAsState()
6969
val messageId by viewModel.snackbarMessageId.collectAsState()
70+
val snackbarMessage = messageId?.let { context.getString(it) }
7071
val snackbarHostState = remember { SnackbarHostState() }
7172

7273
BackHandler {
7374
assistantViewModel.onTranslationScreenDismissed()
7475
assistantViewModel.updateScreenState(AssistantScreenState.TaskContent)
7576
}
7677

77-
LaunchedEffect(messageId) {
78-
messageId?.let {
79-
snackbarHostState.showSnackbar(context.getString(it))
78+
LaunchedEffect(snackbarMessage) {
79+
snackbarMessage?.let {
80+
snackbarHostState.showSnackbar(it)
8081
viewModel.updateSnackbarMessage(null)
8182
}
8283
}

0 commit comments

Comments
 (0)