From 4679aaee235190ed4ae7167b18b380ec96a7df97 Mon Sep 17 00:00:00 2001 From: MajorTanya <39014446+MajorTanya@users.noreply.github.com> Date: Tue, 5 Aug 2025 21:07:21 +0200 Subject: [PATCH] Add label to privately installed extensions (mihonapp/mihon#2349) Just adds the same word as the install option ("Private" in English) next to the extension version and 18+ label. (cherry picked from commit 549d74a2c9aef0eb41ea18378cd29d4ab9eee2b4) --- .../kanade/presentation/browse/ExtensionsScreen.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt index 947fa2c35..d287d5ac7 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt @@ -379,10 +379,12 @@ private fun ExtensionItemContent( horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.extraSmall), ) { ProvideTextStyle(value = MaterialTheme.typography.bodySmall) { + var hasAlreadyShownAnElement by remember { mutableStateOf(false) } // KMK --> extension.lang?.let { if (it.isNotEmpty()) { // KMK <-- + hasAlreadyShownAnElement = true Text( text = /* KMK --> */FlagEmoji.getEmojiLangFlag(it) + " " + /* KMK <-- */ LocaleHelper.getSourceDisplayName(it, LocalContext.current), @@ -391,6 +393,8 @@ private fun ExtensionItemContent( } if (extension.versionName.isNotEmpty()) { + if (hasAlreadyShownAnElement) DotSeparatorNoSpaceText() + hasAlreadyShownAnElement = true Text( text = extension.versionName, ) @@ -410,6 +414,8 @@ private fun ExtensionItemContent( else -> null } if (warning != null) { + if (hasAlreadyShownAnElement) DotSeparatorNoSpaceText() + hasAlreadyShownAnElement = true Text( text = stringResource(warning).uppercase(), color = MaterialTheme.colorScheme.error, @@ -417,6 +423,12 @@ private fun ExtensionItemContent( overflow = TextOverflow.Ellipsis, ) } + if (extension is Extension.Installed && !extension.isShared) { + if (hasAlreadyShownAnElement) DotSeparatorNoSpaceText() + Text( + text = stringResource(MR.strings.ext_installer_private), + ) + } if (!installStep.isCompleted()) { DotSeparatorNoSpaceText()