diff --git a/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt b/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt index 043bf9c41..829c4fc8f 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt @@ -75,7 +75,7 @@ class DepictsClient @Inject constructor( } fun getEntities(ids: String): Single { - return depictsInterface.getEntities(ids, Locale.getDefault().language) + return depictsInterface.getEntities(ids) } fun toDepictions(sparqlResponse: Observable): Observable> { diff --git a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsInterface.java b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsInterface.java index ed7ab1680..00aa81287 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsInterface.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsInterface.java @@ -24,5 +24,5 @@ public interface DepictsInterface { Single searchForDepicts(@Query("search") String query, @Query("limit") String limit, @Query("language") String language, @Query("uselang") String uselang, @Query("continue") String offset); @GET("/w/api.php?format=json&action=wbgetentities") - Single getEntities(@Query("ids")String ids, @Query("languages")String language); + Single getEntities(@Query("ids") String ids); } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt b/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt index 7a2ba99ef..0ed29cc46 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt @@ -9,6 +9,7 @@ import fr.free.nrw.commons.wikidata.WikidataProperties.* import org.wikipedia.wikidata.DataValue import org.wikipedia.wikidata.Entities import org.wikipedia.wikidata.Statement_partial +import java.util.* /** * Model class for Depicted Item in Upload and Explore @@ -25,8 +26,8 @@ data class DepictedItem constructor( constructor(entity: Entities.Entity) : this( entity, - entity.labels().values.firstOrNull()?.value() ?: "", - entity.descriptions().values.firstOrNull()?.value() ?: "" + entity.labels().byLanguageOrFirstOrEmpty(), + entity.descriptions().byLanguageOrFirstOrEmpty() ) constructor(entity: Entities.Entity, place: Place) : this( @@ -73,3 +74,5 @@ private val List?.primaryImageValue: DataValue.ValueString? operator fun Entities.Entity.get(property: WikidataProperties) = statements?.get(property.propertyName) +private fun Map.byLanguageOrFirstOrEmpty() = + let { it[Locale.getDefault().language] ?: it.values.firstOrNull() }?.value() ?: ""