updates: hide the channel picker until a pre-release ships

This commit is contained in:
Seb3thehacker committed 2026-10-13 15:27:15 -07:00
1 parent 8fd840bd8d
commit 7d9eb20ff0
1 file changed
+10 -7
@@ -116,11 +116,14 @@ private fun statusLine(state: State): String = when (state) {
is State.Failed -> state.message is State.Failed -> state.message
} }
private val CHANNELS = listOf( /**
Triple(UpdateChecker.Channel.STABLE, "Stable", "Finished releases only"), * The channels the dialog offers. Empty for now: every release so far goes out as GitHub's latest,
Triple(UpdateChecker.Channel.BETA, "Beta", "Test versions that are nearly done"), * so Beta and Alpha would offer the same as Stable. Add them back once a pre-release ships:
Triple(UpdateChecker.Channel.ALPHA, "Alpha", "Every test version, first. Expect bugs"), * Triple(UpdateChecker.Channel.STABLE, "Stable", "Finished releases only"),
) * Triple(UpdateChecker.Channel.BETA, "Beta", "Test versions that are nearly done"),
* Triple(UpdateChecker.Channel.ALPHA, "Alpha", "Every test version, first. Expect bugs"),
*/
private val CHANNELS = emptyList<Triple<UpdateChecker.Channel, String, String>>()
/** The one Settings row for updates. Checking, the channel and automatic checks all sit behind it. */ /** The one Settings row for updates. Checking, the channel and automatic checks all sit behind it. */
@Composable @Composable
@@ -130,11 +133,11 @@ internal fun UpdateRow() {
SessionStatus.state.collectAsStateWithLifecycle().value SessionStatus.state.collectAsStateWithLifecycle().value
var channel by remember { mutableStateOf(UpdateChecker.channel(context)) } var channel by remember { mutableStateOf(UpdateChecker.channel(context)) }
var open by remember { mutableStateOf(false) } var open by remember { mutableStateOf(false) }
val channelName = CHANNELS.first { it.first == channel }.second val channelName = CHANNELS.firstOrNull { it.first == channel }?.second
SettingsRow( SettingsRow(
"Updates", "Updates",
Modifier.clickable { open = true }, Modifier.clickable { open = true },
subtitle = "$channelName · ${statusLine(state)}", subtitle = listOfNotNull(channelName, statusLine(state)).joinToString(" · "),
icon = Icons.Filled.CheckCircle, icon = Icons.Filled.CheckCircle,
trailing = { trailing = {
Icon( Icon(