From 0cda8e4d7057513c2e756148853393f4cc77c343 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 15 Jul 2025 23:42:55 +0900 Subject: [PATCH] Show author/uploader names in Media Details for Commons licensing compliance (#6375) * Initial plan * Implement author/uploader display in Media Details Co-authored-by: nicolas-raoul <99590+nicolas-raoul@users.noreply.github.com> * Enhanced implementation to use getAttributedAuthor() for better attribution coverage Co-authored-by: nicolas-raoul <99590+nicolas-raoul@users.noreply.github.com> * Move Author/Uploader fields to be positioned after License field Co-authored-by: nicolas-raoul <99590+nicolas-raoul@users.noreply.github.com> * Remove unnecessary comment lines as requested Co-authored-by: nicolas-raoul <99590+nicolas-raoul@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: nicolas-raoul <99590+nicolas-raoul@users.noreply.github.com> --- .../nrw/commons/media/MediaDetailFragment.kt | 31 ++++++++----- .../main/res/layout/fragment_media_detail.xml | 43 ++++++++++--------- app/src/main/res/values/strings.xml | 1 + 3 files changed, 44 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt index 07574067c..d34c162dc 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt @@ -320,12 +320,6 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C binding.seeMore.setUnderlinedText(R.string.nominated_see_more) - if (isCategoryImage) { - binding.authorLinearLayout.visibility = View.VISIBLE - } else { - binding.authorLinearLayout.visibility = View.GONE - } - if (!sessionManager.isUserLoggedIn) { binding.categoryEditButton.visibility = View.GONE binding.descriptionEdit.visibility = View.GONE @@ -814,10 +808,27 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C categoryNames.clear() categoryNames.addAll(media.categories!!) - if (media.author == null || media.author == "") { - binding.authorLinearLayout.visibility = View.GONE - } else { - binding.mediaDetailAuthor.text = media.author + // Show author or uploader information for licensing compliance + val authorName = media.getAttributedAuthor() + val uploaderName = media.user + + when { + !authorName.isNullOrEmpty() -> { + // Show author if available + binding.mediaDetailAuthorLabel.text = getString(R.string.media_detail_author) + binding.mediaDetailAuthor.text = authorName + binding.authorLinearLayout.visibility = View.VISIBLE + } + !uploaderName.isNullOrEmpty() -> { + // Show uploader as fallback + binding.mediaDetailAuthorLabel.text = getString(R.string.media_detail_uploader) + binding.mediaDetailAuthor.text = uploaderName + binding.authorLinearLayout.visibility = View.VISIBLE + } + else -> { + // Hide if neither author nor uploader is available + binding.authorLinearLayout.visibility = View.GONE + } } } diff --git a/app/src/main/res/layout/fragment_media_detail.xml b/app/src/main/res/layout/fragment_media_detail.xml index 7ce90d19e..52afe3fc3 100644 --- a/app/src/main/res/layout/fragment_media_detail.xml +++ b/app/src/main/res/layout/fragment_media_detail.xml @@ -125,27 +125,6 @@ - - - - - - - + + + + + + + Description Discussion Author + Uploader Uploaded date License Coordinates