From df37f48effcce9656a0115eaee59ea5e0091b2a9 Mon Sep 17 00:00:00 2001 From: Sujal-Gupta-SG Date: Sun, 26 Jan 2025 17:09:33 +0530 Subject: [PATCH] updated --- .../ContributionsListPresenter.java | 25 +++---------------- .../ContributionsRemoteDataSource.kt | 8 +++--- .../commons/contributions/MainActivity.java | 3 +-- 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListPresenter.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListPresenter.java index 4ce5a7bbf..f0b63c547 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListPresenter.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListPresenter.java @@ -129,7 +129,7 @@ public class ContributionsListPresenter implements UserActionListener { }); } - private String lastKnownIdentifier = null; // Declare and initialize + private long lastKnownIdentifier ; // Declare and initialize /** * Check for new contributions by comparing the latest contribution identifier. @@ -140,31 +140,14 @@ public class ContributionsListPresenter implements UserActionListener { contributionsRemoteDataSource.setUserName(sessionManager.getUserName()); contributionsRemoteDataSource.fetchLatestContributionIdentifier(latestIdentifier -> { + Timber.d("Latest identifier: %s", latestIdentifier); + Timber.d("Last known identifier: %s", lastKnownIdentifier); if (latestIdentifier != null && !latestIdentifier.equals(lastKnownIdentifier)) { lastKnownIdentifier = latestIdentifier; - fetchAllContributions(); // Fetch the full list of contributions + contributionBoundaryCallback.refreshList(() -> Unit.INSTANCE); } return Unit.INSTANCE; }); } - /** - * Fetch new contributions from the server and append them to the existing list. - */ - void fetchAllContributions() { - contributionsRemoteDataSource.fetchContributions( - new ContributionsRemoteDataSource.LoadCallback<>() { - - @Override - public void onResult(List newContributions) { - if (newContributions != null && !newContributions.isEmpty()) { - existingContributions.clear(); - existingContributions.addAll(newContributions); - liveData.postValue( - existingContributions); // Update liveData with the new list - } - } - }); - } - } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsRemoteDataSource.kt b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsRemoteDataSource.kt index c8e9ea001..ccad51860 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsRemoteDataSource.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsRemoteDataSource.kt @@ -76,7 +76,7 @@ constructor( /** * Fetches the latest contribution identifier only */ - fun fetchLatestContributionIdentifier(callback: (String?) -> Unit) { + fun fetchLatestContributionIdentifier(callback: (Long?) -> Unit) { if (userName.isNullOrEmpty()) { Timber.e("Failed to fetch latest contribution: userName is null or empty") return @@ -86,11 +86,13 @@ constructor( compositeDisposable.add( mediaClient.getMediaListForUser(userName!!) .map { mediaList -> - mediaList.firstOrNull()?.pageId.toString() // Extract the first contribution's pageId + mediaList.firstOrNull()?.pageId // Extract the first contribution's pageId as Long } .subscribeOn(ioThreadScheduler) .subscribe({ latestIdentifier -> - callback(latestIdentifier) + if (latestIdentifier != null) { + callback(latestIdentifier.toLong()) + } }) { error: Throwable -> Timber.e("Failed to fetch latest contribution identifier: %s", error.message) callback(null) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java index 5037d7928..dc2116785 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java @@ -15,6 +15,7 @@ import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; @@ -457,7 +458,6 @@ public class MainActivity extends BaseActivity ImageView refreshIcon = actionView.findViewById(R.id.refresh_icon); if (refreshIcon != null) { refreshIcon.setOnClickListener(v -> { - // Clear previous animation and start new one v.clearAnimation(); Animation rotateAnimation = AnimationUtils.loadAnimation(this, R.anim.rotate); v.startAnimation(rotateAnimation); @@ -472,7 +472,6 @@ public class MainActivity extends BaseActivity return true; } - public void centerMapToPlace(Place place) { setSelectedItemId(NavTab.NEARBY.code()); nearbyParentFragment.setNearbyParentFragmentInstanceReadyCallback(