diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneHolder.kt
index d8246453e..795748a5c 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneHolder.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneHolder.kt
@@ -131,11 +131,27 @@ class MangaAllInOneHolder(
}
.launchIn(adapter.delegate.controllerScope)
+ binding.mangaArtist.longClicks()
+ .onEach {
+ adapter.delegate.copyToClipboard(binding.mangaArtistLabel.text.toString(), binding.mangaArtist.text.toString())
+ }
+ .launchIn(adapter.delegate.controllerScope)
+
+ binding.mangaArtist.clicks()
+ .onEach {
+ var text = binding.mangaArtist.text.toString()
+ if (adapter.delegate.isEHentaiBasedSource()) {
+ text = adapter.delegate.wrapTag("artist", text)
+ }
+ adapter.delegate.performGlobalSearch(text)
+ }
+ .launchIn(adapter.delegate.controllerScope)
+
binding.mangaAuthor.longClicks()
.onEach {
// EXH Special case E-Hentai/ExHentai to ignore author field (unused)
if (!adapter.delegate.isEHentaiBasedSource()) {
- adapter.delegate.copyToClipboard("author", binding.mangaAuthor.text.toString())
+ adapter.delegate.copyToClipboard(binding.mangaAuthorLabel.text.toString(), binding.mangaAuthor.text.toString())
}
}
.launchIn(adapter.delegate.controllerScope)
@@ -187,12 +203,18 @@ class MangaAllInOneHolder(
manga.title
}
- // Update author/artist TextView.
- val authors = listOf(manga.author, manga.artist).filter { !it.isNullOrBlank() }.distinct()
- binding.mangaAuthor.text = if (authors.isEmpty()) {
+ // Update artist TextView.
+ binding.mangaArtist.text = if (manga.artist.isNullOrBlank()) {
itemView.context.getString(R.string.unknown)
} else {
- authors.joinToString(", ")
+ manga.artist
+ }
+
+ // Update author TextView.
+ binding.mangaAuthor.text = if (manga.author.isNullOrBlank()) {
+ itemView.context.getString(R.string.unknown)
+ } else {
+ manga.author
}
// If manga source is known update source TextView.
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt
index 6935003e2..95c3b840f 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt
@@ -176,6 +176,25 @@ class MangaInfoController(private val fromSource: Boolean = false) :
}
.launchIn(scope)
+ binding.mangaArtist.longClicks()
+ .onEach {
+ activity?.copyToClipboard(
+ binding.mangaArtistLabel.text.toString(),
+ binding.mangaArtist.text.toString()
+ )
+ }
+ .launchIn(scope)
+
+ binding.mangaArtist.clicks()
+ .onEach {
+ var text = binding.mangaArtist.text.toString()
+ if (isEHentaiBasedSource()) {
+ text = wrapTag("artist", text)
+ }
+ performGlobalSearch(text)
+ }
+ .launchIn(scope)
+
binding.mangaAuthor.longClicks()
.onEach {
// EXH Special case E-Hentai/ExHentai to ignore author field (unused)
@@ -318,12 +337,18 @@ class MangaInfoController(private val fromSource: Boolean = false) :
manga.title
}
- // Update author/artist TextView.
- val authors = listOf(manga.author, manga.artist).filter { !it.isNullOrBlank() }.distinct()
- binding.mangaAuthor.text = if (authors.isEmpty()) {
+ // Update artist TextView.
+ binding.mangaArtist.text = if (manga.artist.isNullOrBlank()) {
view.context.getString(R.string.unknown)
} else {
- authors.joinToString(", ")
+ manga.artist
+ }
+
+ // Update author TextView.
+ binding.mangaAuthor.text = if (manga.author.isNullOrBlank()) {
+ view.context.getString(R.string.unknown)
+ } else {
+ manga.author
}
// If manga source is known update source TextView.
diff --git a/app/src/main/res/layout-land/manga_all_in_one_header.xml b/app/src/main/res/layout-land/manga_all_in_one_header.xml
index b31bacbb5..2e880ae57 100644
--- a/app/src/main/res/layout-land/manga_all_in_one_header.xml
+++ b/app/src/main/res/layout-land/manga_all_in_one_header.xml
@@ -70,26 +70,62 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_author_label" />
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_artist_label" />
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_author_label" />
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_artist_label" />
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_author_label" />
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_artist_label" />
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_author_label" />
+
+
+ app:layout_constraintTop_toBottomOf="@+id/manga_artist_label" />
Title
Added to library
Removed from library
+ Author
+ Artist
Chapters
Last chapter
Updated