Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
This commit is contained in:
parneet-guraya 2024-12-17 13:26:37 +05:30
parent 8eed7ee554
commit 8792e04ce2
No known key found for this signature in database
GPG key ID: 63B807C4B2A9064B
4 changed files with 20 additions and 2 deletions

View file

@ -47,6 +47,12 @@ class ContributionBoundaryCallback
fetchContributions()
}
/**
* Fetch list from network and save it to local DB.
*
* @param onRefreshFinish callback to invoke when operations finishes
* with either error or success.
*/
fun refreshList(onRefreshFinish: () -> Unit = {}){
if (sessionManager.userName != null) {
mediaClient.resetUserNameContinuation(sessionManager.userName!!)
@ -56,6 +62,9 @@ class ContributionBoundaryCallback
/**
* Fetches contributions using the MediaWiki API
*
* @param onRefreshFinish callback to invoke when operations finishes
* with either error or success.
*/
private fun fetchContributions(onRefreshFinish: () -> Unit = {}) {
if (sessionManager.userName != null) {
@ -89,6 +98,8 @@ class ContributionBoundaryCallback
/**
* Saves the contributions the the local DB
*
* @param onRefreshFinish callback to invoke when successfully saved to DB.
*/
private fun saveContributionsToDB(contributions: List<Contribution>, onRefreshFinish: () -> Unit) {
compositeDisposable.add(

View file

@ -20,5 +20,6 @@ public class ContributionsListContract {
public interface UserActionListener extends BasePresenter<View> {
void refreshList(SwipeRefreshLayout swipeRefreshLayout);
}
}

View file

@ -96,8 +96,14 @@ public class ContributionsListPresenter implements UserActionListener {
contributionBoundaryCallback.dispose();
}
/**
* It is used to refresh list.
*
* @param swipeRefreshLayout used to stop refresh animation when
* refresh finishes.
*/
@Override
public void refreshList(SwipeRefreshLayout swipeRefreshLayout) {
public void refreshList(final SwipeRefreshLayout swipeRefreshLayout) {
contributionBoundaryCallback.refreshList(() -> {
swipeRefreshLayout.setRefreshing(false);
return Unit.INSTANCE;

View file

@ -125,5 +125,5 @@
</LinearLayout>
</RelativeLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>