From 76decba8d9543d5e9707e0de114c9a576d01eaae Mon Sep 17 00:00:00 2001 From: weishu Date: Mon, 31 Jul 2023 15:06:00 +0800 Subject: [PATCH] manager: auto scroll for module installation. #815 --- .../src/main/java/me/weishu/kernelsu/ui/screen/Install.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 89c8d24f..b385b82b 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,6 +46,7 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) { val snackBarHost = LocalSnackbarHost.current val scope = rememberCoroutineScope() + val scrollState = rememberScrollState() LaunchedEffect(Unit) { if (text.isNotEmpty()) { @@ -58,6 +59,9 @@ 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") @@ -107,7 +111,7 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) { modifier = Modifier .fillMaxSize(1f) .padding(innerPadding) - .verticalScroll(rememberScrollState()), + .verticalScroll(scrollState), ) { Text( modifier = Modifier.padding(8.dp),