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