From 8c295a34fb577107eeb040aaa7f2ec49b09297db Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Thu, 4 Jun 2026 18:44:47 +0800 Subject: [PATCH] shared: composable: Ensure library's developers and licenses are available Signed-off-by: Aayush Gupta --- .../composeResources/values/strings.xml | 1 + .../app/composable/about/LibraryListItem.kt | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/shared/src/commonMain/composeResources/values/strings.xml b/shared/src/commonMain/composeResources/values/strings.xml index c991e2413..db54314a9 100644 --- a/shared/src/commonMain/composeResources/values/strings.xml +++ b/shared/src/commonMain/composeResources/values/strings.xml @@ -35,4 +35,5 @@ View on website Open in browser Done + Not available diff --git a/shared/src/commonMain/kotlin/net/newpipe/app/composable/about/LibraryListItem.kt b/shared/src/commonMain/kotlin/net/newpipe/app/composable/about/LibraryListItem.kt index 463d06053..82cdad496 100644 --- a/shared/src/commonMain/kotlin/net/newpipe/app/composable/about/LibraryListItem.kt +++ b/shared/src/commonMain/kotlin/net/newpipe/app/composable/about/LibraryListItem.kt @@ -19,6 +19,7 @@ import net.newpipe.app.preview.LibraryPreviewProvider import net.newpipe.app.preview.ThemePreviewProvider import newpipe.shared.generated.resources.Res import newpipe.shared.generated.resources.license +import newpipe.shared.generated.resources.not_available import org.jetbrains.compose.resources.stringResource /** @@ -29,8 +30,23 @@ import org.jetbrains.compose.resources.stringResource */ @Composable fun LibraryListItem(modifier: Modifier = Modifier, library: Library, onClick: () -> Unit = {}) { + val description = when { + library.developers.isNotEmpty() && library.licenses.isNotEmpty() -> { + stringResource( + Res.string.license, + library.developers.first().name, + library.licenses.first() + ) + } + + else -> { + stringResource(Res.string.not_available) + } + } + ListItem( onClick = onClick, + enabled = library.licenses.isNotEmpty(), content = { Column { Text( @@ -38,11 +54,7 @@ fun LibraryListItem(modifier: Modifier = Modifier, library: Library, onClick: () style = MaterialTheme.typography.titleMedium ) Text( - text = stringResource( - Res.string.license, - library.developers.first().name, - library.licenses.first() - ), + text = description, style = MaterialTheme.typography.bodyMedium ) }