From 81e141744eabe572c67c5279eed6add5d7af42cc Mon Sep 17 00:00:00 2001 From: Michael Rittmeister Date: Sat, 22 Feb 2025 20:59:06 +0100 Subject: [PATCH] Speed up UI launch time --- client/build.gradle.kts | 1 - client/src/main/kotlin/Launcher.kt | 39 +++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/client/build.gradle.kts b/client/build.gradle.kts index 327bcc1..d4eda84 100644 --- a/client/build.gradle.kts +++ b/client/build.gradle.kts @@ -75,7 +75,6 @@ compose.desktop { packageName = "GTA Killer" windows { - console = true menuGroup = "GTA Killer" upgradeUuid = "8193b8f9-1355-4d0f-9c6f-6619d0f18604" } diff --git a/client/src/main/kotlin/Launcher.kt b/client/src/main/kotlin/Launcher.kt index 349347e..4028ed3 100644 --- a/client/src/main/kotlin/Launcher.kt +++ b/client/src/main/kotlin/Launcher.kt @@ -1,15 +1,48 @@ package dev.schlaubi.mastermind +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier import androidx.compose.ui.window.singleWindowApplication import dev.schlaubi.mastermind.core.registerKeyBoardListener +import dev.schlaubi.mastermind.theme.AppTheme import dev.schlaubi.mastermind.ui.GTAKiller import dev.schlaubi.mastermind.windows_helper.WindowsAPI fun main() { - WindowsAPI.registerKeyboardHook() - registerKeyBoardListener() - singleWindowApplication(title = "GTA Killer") { + var loading by remember { mutableStateOf(true) } + if (loading) { + SideEffect { + WindowsAPI.registerKeyboardHook() + registerKeyBoardListener() + } + + AppTheme { + Scaffold { + Column( + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.fillMaxSize() + ) { + CircularProgressIndicator() + Text( + "Launching App ...", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurface + ) + } + } + } + } + GTAKiller() } }