diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Install.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Install.kt index 04f012b4..fdcbac88 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Install.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Install.kt @@ -46,7 +46,7 @@ import java.util.* fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) { var text by rememberSaveable { mutableStateOf("") } - val logContent = StringBuilder() + val logContent = rememberSaveable { StringBuilder() } var showFloatAction by rememberSaveable { mutableStateOf(false) } val snackBarHost = LocalSnackbarHost.current @@ -64,9 +64,6 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) { } }, onStdout = { text += "$it\n" - scope.launch { - scrollState.animateScrollTo(scrollState.maxValue) - } logContent.append(it).append("\n") }, onStderr = { logContent.append(it).append("\n") @@ -121,6 +118,9 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) { .padding(innerPadding) .verticalScroll(scrollState), ) { + LaunchedEffect(text) { + scrollState.animateScrollTo(scrollState.maxValue) + } Text( modifier = Modifier.padding(8.dp), text = text,