diff --git a/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java b/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java index 14a4fe889..89bebc090 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java @@ -264,7 +264,6 @@ public class SearchActivity extends NavigationBaseActivity viewPager.requestFocus(); } - @Override protected void onDestroy() { super.onDestroy(); //Dispose the disposables when the activity is destroyed diff --git a/app/src/main/java/fr/free/nrw/commons/explore/categories/PagedCategoriesAdapter.kt b/app/src/main/java/fr/free/nrw/commons/explore/categories/PagedCategoriesAdapter.kt index fd41a6b73..738092495 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/categories/PagedCategoriesAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/categories/PagedCategoriesAdapter.kt @@ -41,5 +41,3 @@ class CategoryItemViewHolder(containerView: View, val onCategoryClicked: (String textView1.text = item.substringAfter(CATEGORY_PREFIX) } } - - diff --git a/app/src/main/java/fr/free/nrw/commons/explore/depictions/child/PageableChildDepictionsDataSource.kt b/app/src/main/java/fr/free/nrw/commons/explore/depictions/child/PageableChildDepictionsDataSource.kt index 2ca1f1b72..2fb549f28 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/depictions/child/PageableChildDepictionsDataSource.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/depictions/child/PageableChildDepictionsDataSource.kt @@ -10,9 +10,8 @@ class PageableChildDepictionsDataSource @Inject constructor( liveDataConverter: LiveDataConverter, private val okHttpJsonApiClient: OkHttpJsonApiClient ) : PageableBaseDataSource(liveDataConverter) { - override val loadFunction = { _: Int, startPosition: Int -> - if (startPosition == 0) okHttpJsonApiClient.getChildDepictions(query).blockingFirst() - else emptyList() + override val loadFunction = { limit: Int, startPosition: Int -> + okHttpJsonApiClient.getChildDepictions(query, startPosition, limit).blockingFirst() } } diff --git a/app/src/main/java/fr/free/nrw/commons/explore/depictions/media/DepictedImagesFragment.kt b/app/src/main/java/fr/free/nrw/commons/explore/depictions/media/DepictedImagesFragment.kt index 13525ae81..f31bba68d 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/depictions/media/DepictedImagesFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/depictions/media/DepictedImagesFragment.kt @@ -2,6 +2,7 @@ package fr.free.nrw.commons.explore.depictions.media import android.os.Bundle import android.view.View +import fr.free.nrw.commons.explore.depictions.WikidataItemDetailsActivity import fr.free.nrw.commons.explore.media.PageableMediaFragment import javax.inject.Inject @@ -16,5 +17,4 @@ class DepictedImagesFragment : PageableMediaFragment() { super.onViewCreated(view, savedInstanceState) onQueryUpdated(arguments!!.getString("entityId")!!) } - } diff --git a/app/src/main/java/fr/free/nrw/commons/explore/depictions/parent/PageableParentDepictionsDataSource.kt b/app/src/main/java/fr/free/nrw/commons/explore/depictions/parent/PageableParentDepictionsDataSource.kt index 72ec1b7a0..e2459bf66 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/depictions/parent/PageableParentDepictionsDataSource.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/depictions/parent/PageableParentDepictionsDataSource.kt @@ -10,9 +10,8 @@ class PageableParentDepictionsDataSource @Inject constructor( liveDataConverter: LiveDataConverter, private val okHttpJsonApiClient: OkHttpJsonApiClient ) : PageableBaseDataSource(liveDataConverter) { - override val loadFunction = { _: Int, startPosition: Int -> - if (startPosition == 0) okHttpJsonApiClient.getParentDepictions(query).blockingFirst() - else emptyList() + override val loadFunction = { limit: Int, startPosition: Int -> + okHttpJsonApiClient.getParentDepictions(query, startPosition, limit).blockingFirst() } } diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java b/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java index 375e549b8..1d010e00a 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java @@ -209,16 +209,19 @@ public class OkHttpJsonApiClient { * Get the QIDs of all Wikidata items that are subclasses of the given Wikidata item. Example: * bridge -> suspended bridge, aqueduct, etc */ - public Observable> getChildDepictions(String qid) throws IOException { - return depictedItemsFrom(sparqlQuery(qid, "/queries/subclasses_query.rq")); + public Observable> getChildDepictions(String qid, int startPosition, + int limit) throws IOException { + return depictedItemsFrom(sparqlQuery(qid, startPosition, limit,"/queries/subclasses_query.rq")); } /** * Get the QIDs of all Wikidata items that are subclasses of the given Wikidata item. Example: * bridge -> suspended bridge, aqueduct, etc */ - public Observable> getParentDepictions(String qid) throws IOException { - return depictedItemsFrom(sparqlQuery(qid, "/queries/parentclasses_query.rq")); + public Observable> getParentDepictions(String qid, int startPosition, + int limit) throws IOException { + return depictedItemsFrom(sparqlQuery(qid, startPosition, limit, + "/queries/parentclasses_query.rq")); } private Observable> depictedItemsFrom(Request request) { @@ -230,10 +233,12 @@ public class OkHttpJsonApiClient { } @NotNull - private Request sparqlQuery(String qid, String fileName) throws IOException { - String query = FileUtils.readFromResource(fileName). - replace("${QID}", qid) - .replace("${LANG}", "\"" + Locale.getDefault().getLanguage() + "\""); + private Request sparqlQuery(String qid, int startPosition, int limit, String fileName) throws IOException { + String query = FileUtils.readFromResource(fileName) + .replace("${QID}", qid) + .replace("${LANG}", "\"" + Locale.getDefault().getLanguage() + "\"") + .replace("${LIMIT}",""+ limit) + .replace("${OFFSET}",""+ startPosition); HttpUrl.Builder urlBuilder = HttpUrl .parse(sparqlQueryUrl) .newBuilder() diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/SparqlResponses.kt b/app/src/main/java/fr/free/nrw/commons/mwapi/SparqlResponses.kt index d15205d62..84c86bf9f 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/SparqlResponses.kt +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/SparqlResponses.kt @@ -5,9 +5,7 @@ data class SparqlResponse(val results: Result) data class Result(val bindings: List) data class Binding( - val item: SparqInfo, - val itemLabel: SparqInfo, - val itemDescription: SparqInfo? = null + val item: SparqInfo ) { val id: String get() = item.value.substringAfterLast("/") diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java index 8ed1300bc..2e0a289f7 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java @@ -67,15 +67,6 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter getUploadMediaDetails() { - return uploadMediaDetails; - } - public void addDescription(UploadMediaDetail uploadMediaDetail) { this.uploadMediaDetails.add(uploadMediaDetail); notifyItemInserted(uploadMediaDetails.size()); @@ -108,8 +99,6 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter { @@ -117,6 +106,8 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter?.toIds(): List { } private val List?.primaryImageValue: DataValue.ValueString? - get() = this?.first()?.mainSnak?.dataValue as? DataValue.ValueString + get() = this?.firstOrNull()?.mainSnak?.dataValue as? DataValue.ValueString operator fun Entities.Entity.get(property: WikidataProperties) = statements?.get(property.propertyName) diff --git a/app/src/main/res/layout/upload_depicts_fragment.xml b/app/src/main/res/layout/upload_depicts_fragment.xml index 14327fc7e..15b159b5c 100644 --- a/app/src/main/res/layout/upload_depicts_fragment.xml +++ b/app/src/main/res/layout/upload_depicts_fragment.xml @@ -112,6 +112,7 @@ android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" + android:textColor="@android:color/white" android:text="@string/next" />