From f79575e8d5fde2258c5030a5bf8e2bc13981d8ce Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 31 May 2025 08:24:02 +0300 Subject: [PATCH] Option to not collapse descriptions --- .../kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt | 4 ++++ .../org/koitharu/kotatsu/details/ui/DetailsActivity.kt | 7 +++++++ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/pref_appearance.xml | 5 +++++ 4 files changed, 17 insertions(+) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt index ccb06a053..ca06f5e6f 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt @@ -93,6 +93,9 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) { val isQuickFilterEnabled: Boolean get() = prefs.getBoolean(KEY_QUICK_FILTER, true) + val isDescriptionExpanded: Boolean + get() = !prefs.getBoolean(KEY_COLLAPSE_DESCRIPTION, true) + var historyListMode: ListMode get() = prefs.getEnumValue(KEY_LIST_MODE_HISTORY, listMode) set(value) = prefs.edit { putEnumValue(KEY_LIST_MODE_HISTORY, value) } @@ -741,6 +744,7 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) { const val KEY_SOURCES_VERSION = "sources_version" const val KEY_SOURCES_ENABLED_ALL = "sources_enabled_all" const val KEY_QUICK_FILTER = "quick_filter" + const val KEY_COLLAPSE_DESCRIPTION = "description_collapse" const val KEY_BACKUP_TG_ENABLED = "backup_periodic_tg_enabled" const val KEY_BACKUP_TG_CHAT = "backup_periodic_tg_chat_id" const val KEY_MANGA_LIST_BADGES = "manga_list_badges" diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt index ac592363c..bc22dade1 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt @@ -51,6 +51,7 @@ import org.koitharu.kotatsu.core.nav.ReaderIntent import org.koitharu.kotatsu.core.nav.router import org.koitharu.kotatsu.core.os.AppShortcutManager import org.koitharu.kotatsu.core.parser.favicon.faviconUri +import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.core.ui.BaseActivity import org.koitharu.kotatsu.core.ui.BaseListAdapter import org.koitharu.kotatsu.core.ui.dialog.buildAlertDialog @@ -125,6 +126,9 @@ class DetailsActivity : @Inject lateinit var coil: ImageLoader + @Inject + lateinit var settings: AppSettings + private val viewModel: DetailsViewModel by viewModels() private lateinit var menuProvider: DetailsMenuProvider private lateinit var infoBinding: LayoutDetailsTableBinding @@ -153,6 +157,9 @@ class DetailsActivity : viewBinding.textViewDescription.movementMethod = LinkMovementMethodCompat.getInstance() viewBinding.chipsTags.onChipClickListener = this TitleScrollCoordinator(viewBinding.textViewTitle).attach(viewBinding.scrollView) + if (settings.isDescriptionExpanded) { + viewBinding.textViewDescription.maxLines = Int.MAX_VALUE - 1 + } viewBinding.containerBottomSheet?.let { sheet -> sheet.setOnClickListener(this) sheet.addOnLayoutChangeListener(this) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d16e7293f..5127a51ea 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -844,4 +844,5 @@ Expand Block ads in browser Block advertisement in the built-in browser (beta) + Collapse long description diff --git a/app/src/main/res/xml/pref_appearance.xml b/app/src/main/res/xml/pref_appearance.xml index c49cbc17a..568e5d883 100644 --- a/app/src/main/res/xml/pref_appearance.xml +++ b/app/src/main/res/xml/pref_appearance.xml @@ -62,6 +62,11 @@ + +