From da672ba00bf7cfde90ff3411b7e2189e100bec8e Mon Sep 17 00:00:00 2001 From: Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Sun, 27 Sep 2026 14:20:35 -0400 Subject: [PATCH] fix(setup): trim child-process fix to one line and three actions --- .../droiddeck/launcher/ui/ComponentsPage.kt | 2 +- .../droiddeck/launcher/ui/FrontEndSetup.kt | 34 +++++++------------ .../droiddeck/launcher/ui/SessionOverlay.kt | 2 +- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/ui/ComponentsPage.kt b/app/src/main/java/com/droiddeck/launcher/ui/ComponentsPage.kt index f23ff5cf4..7822ef44e 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/ComponentsPage.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/ComponentsPage.kt @@ -325,7 +325,7 @@ private fun SmallButton(text: String, enabled: Boolean = true, accent: Boolean = val hot = (src.collectIsFocusedAsState().value || src.collectIsHoveredAsState().value) && enabled Box( contentAlignment = Alignment.Center, - modifier = modifier.heightIn(min = 40.dp).clip(RoundedCornerShape(10.dp)) + modifier = modifier.heightIn(min = 44.dp).clip(RoundedCornerShape(10.dp)) .background(if (hot) pal.signal else colors.surfaceVariant) .border(2.dp, if (hot) colors.onBackground else pal.line2, RoundedCornerShape(10.dp)) .hoverable(src).clickable(interactionSource = src, indication = null, enabled = enabled, onClick = onClick) diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt index 7665f5abe..9c6b7a9fc 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt @@ -65,7 +65,6 @@ import androidx.compose.ui.platform.LocalInputModeManager import androidx.compose.ui.input.InputMode import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.contentDescription -import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp @@ -218,32 +217,25 @@ internal fun SetupPanel( } } AnimatedVisibility(showLimitDetails, enter = expandVertically() + fadeIn(), exit = shrinkVertically() + fadeOut()) { + // One sentence and at most three buttons. The computer route and its + // raw command live on the full page Wireless debugging opens. Column(modifier = Modifier.fillMaxWidth().padding(start = 56.dp, end = 14.dp, top = 4.dp, bottom = 10.dp)) { Text( - PhantomProcessLimit.instructions(s.phantomProcessStatus), + if (limitBlocks) PhantomProcessLimit.gateInstructions(s.phantomProcessStatus) + else PhantomProcessLimit.instructions(s.phantomProcessStatus), fontSize = 14.sp, color = colors.onSurfaceVariant, modifier = Modifier.padding(vertical = 4.dp), ) - Row(horizontalArrangement = Arrangement.spacedBy(8.dp), modifier = Modifier.padding(vertical = 6.dp)) { - SecondaryButton("Developer options", compact = true, onClick = onOpenDeveloperOptions) - SecondaryButton("Check again", compact = true, onClick = a.onRefreshPhantomStatus) - SecondaryButton("Copy ADB command", compact = true, onClick = { a.onCopyPhantomCommand(false) }) - } - Text( - PhantomProcessLimit.ADB_COMMAND, fontSize = 12.sp, fontFamily = FontFamily.Monospace, - color = colors.onSurfaceVariant, modifier = Modifier.padding(vertical = 4.dp), - ) - if (s.phantomProcessStatus != PhantomProcessStatus.NOT_APPLICABLE) { - Text( - "With wireless debugging paired, DroidDeck can switch the limit itself. Turning it off is recommended for Steam sessions.", - fontSize = 14.sp, color = colors.onSurfaceVariant, modifier = Modifier.padding(top = 8.dp), - ) - Row(horizontalArrangement = Arrangement.spacedBy(8.dp), modifier = Modifier.padding(vertical = 6.dp)) { - SecondaryButton("Turn limit off", compact = true, enabled = !processLimitBusy && s.phantomProcessStatus != PhantomProcessStatus.DISABLED) { setProcessLimit(false) } - SecondaryButton("Turn limit on", compact = true, enabled = !processLimitBusy && s.phantomProcessStatus != PhantomProcessStatus.ENABLED) { setProcessLimit(true) } + Actions { + if (limitBlocks) { + PrimaryButton("Developer options", compact = true, onClick = onOpenDeveloperOptions) + SecondaryButton("Use Wireless debugging", compact = true, enabled = !processLimitBusy) { setProcessLimit(false) } + SecondaryButton("Check again", compact = true, onClick = a.onRefreshPhantomStatus) + } else if (s.phantomProcessStatus == PhantomProcessStatus.DISABLED) { + SecondaryButton("Turn limit on", compact = true, enabled = !processLimitBusy) { setProcessLimit(true) } } - if (processLimitBusy) LinearProgressIndicator(modifier = Modifier.fillMaxWidth().padding(vertical = 6.dp)) - processLimitMessage?.let { Text(it, fontSize = 14.sp, color = colors.onSurfaceVariant, modifier = Modifier.padding(vertical = 4.dp)) } } + if (processLimitBusy) LinearProgressIndicator(modifier = Modifier.fillMaxWidth().padding(vertical = 6.dp)) + processLimitMessage?.let { Text(it, fontSize = 14.sp, color = colors.onSurfaceVariant, modifier = Modifier.padding(vertical = 4.dp)) } } } CheckRow( diff --git a/app/src/main/java/com/droiddeck/launcher/ui/SessionOverlay.kt b/app/src/main/java/com/droiddeck/launcher/ui/SessionOverlay.kt index 250c31738..90d7cbdf3 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/SessionOverlay.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/SessionOverlay.kt @@ -509,7 +509,7 @@ private fun StopSessionButton(modifier: Modifier = Modifier, onClick: () -> Unit val shape = RoundedCornerShape(20.dp) Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(6.dp), - modifier = modifier.heightIn(min = 40.dp).semantics { contentDescription = "Stop session" } + modifier = modifier.heightIn(min = 44.dp).semantics { contentDescription = "Stop session" } .clip(shape).background(fill).border(if (hot) 2.dp else 1.dp, colors.error.copy(alpha = if (hot) 0.9f else 0.55f), shape) .hoverable(src).clickable(interactionSource = src, indication = LocalIndication.current, onClick = onClick) .controllerConfirm(onClick = onClick)