From cbd5ee18502a9127e851c5d5359fb9336ce43eb8 Mon Sep 17 00:00:00 2001 From: Vivek Maskara Date: Fri, 29 Nov 2019 19:47:33 +0530 Subject: [PATCH] With artist information fixed (#3232) --- .../main/java/fr/free/nrw/commons/Media.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/Media.java b/app/src/main/java/fr/free/nrw/commons/Media.java index f7e1baa7f..94dfa791d 100644 --- a/app/src/main/java/fr/free/nrw/commons/Media.java +++ b/app/src/main/java/fr/free/nrw/commons/Media.java @@ -12,7 +12,6 @@ import org.wikipedia.dataclient.mwapi.MwQueryPage; import org.wikipedia.gallery.ExtMetadata; import org.wikipedia.gallery.ImageInfo; import org.wikipedia.page.PageTitle; -import org.wikipedia.util.StringUtil; import java.text.ParseException; import java.util.ArrayList; @@ -160,7 +159,7 @@ public class Media implements Parcelable { 0, safeParseDate(metadata.dateTime()), safeParseDate(metadata.dateTime()), - StringUtil.fromHtml(metadata.artist()).toString() + getArtist(metadata) ); if (!StringUtils.isBlank(imageInfo.getThumbUrl())) { @@ -186,6 +185,21 @@ public class Media implements Parcelable { return media; } + /** + * This method extracts the Commons Username from the artist HTML information + * @param metadata + * @return + */ + private static String getArtist(ExtMetadata metadata) { + try { + String artistHtml = metadata.artist(); + return artistHtml.substring(artistHtml.indexOf("title=\""), artistHtml.indexOf("\">")) + .replace("title=\"User:", ""); + } catch (Exception ex) { + return ""; + } + } + public String getThumbUrl() { return thumbUrl; }