From 811641f538d4502a93a0c29f976d6b05fde3770b Mon Sep 17 00:00:00 2001 From: Jonathan Nobels Date: Thu, 20 Jun 2024 12:51:26 -0400 Subject: [PATCH] android/ui: remove switch and status label on TV before login (#430) updates tailscale/corp#20930 More fixes. Google reviewers were unhappy that there was a non-actionable label for AndroidTV when before login had happened, so that have been removed. Signed-off-by: Jonathan Nobels --- .../com/tailscale/ipn/ui/view/MainView.kt | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/android/src/main/java/com/tailscale/ipn/ui/view/MainView.kt b/android/src/main/java/com/tailscale/ipn/ui/view/MainView.kt index 09dcb2b..47c3637 100644 --- a/android/src/main/java/com/tailscale/ipn/ui/view/MainView.kt +++ b/android/src/main/java/com/tailscale/ipn/ui/view/MainView.kt @@ -129,17 +129,22 @@ fun MainView( val disableToggle by MDMSettings.forceEnabled.flow.collectAsState(initial = true) val showKeyExpiry by viewModel.showExpiry.collectAsState(initial = false) + // Hide the header only on Android TV when the user needs to login + val hideHeader = (isAndroidTV() && state == Ipn.State.NeedsLogin) + ListItem( colors = MaterialTheme.colorScheme.surfaceContainerListItem, leadingContent = { - TintedSwitch( - onCheckedChange = { - if (!disableToggle) { - viewModel.toggleVpn() - } - }, - enabled = !disableToggle, - checked = isOn) + if (!hideHeader) { + TintedSwitch( + onCheckedChange = { + if (!disableToggle) { + viewModel.toggleVpn() + } + }, + enabled = !disableToggle, + checked = isOn) + } }, headlineContent = { user?.NetworkProfile?.DomainName?.let { domain -> @@ -151,7 +156,9 @@ fun MainView( } }, supportingContent = { - Text(text = stateStr, style = MaterialTheme.typography.bodyMedium.short) + if (!hideHeader) { + Text(text = stateStr, style = MaterialTheme.typography.bodyMedium.short) + } }, trailingContent = { Box(modifier = Modifier.weight(1f), contentAlignment = Alignment.CenterEnd) {