diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java index ab49e59930..38db6e6d03 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java @@ -224,6 +224,14 @@ public void fetchMediaUriFor(Contribution contribution) { Timber.d("Fetching thumbnail for %s", contribution.filename); contributionsPresenter.fetchMediaDetails(contribution); } + + @Override + public void onContributionsUpdated() { + //If the contributions are updated, let the pager fragment know + if (null != mediaDetailPagerFragment) { + mediaDetailPagerFragment.notifyDataSetChanged(); + } + } }); if(null==mediaDetailPagerFragment){ diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListAdapter.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListAdapter.java index 8b8d2fff13..1eb8fe5128 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListAdapter.java @@ -77,5 +77,7 @@ public interface Callback { Contribution getContributionForPosition(int position); void fetchMediaUriFor(Contribution contribution); + + void onContributionsUpdated(); } } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java index a4ab14a4d5..c829aa7973 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java @@ -188,6 +188,7 @@ public void setContributions(List contributionList) { this.contributions.clear(); this.contributions.addAll(contributionList); adapter.setContributions(contributions); + callback.onContributionsUpdated(); } public interface SourceRefresher { diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 889d937cbb..41bdf6f420 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -320,7 +320,9 @@ public void showImage(int i) { * The method notify the viewpager that number of items have changed. */ public void notifyDataSetChanged(){ - adapter.notifyDataSetChanged(); + if (null != adapter) { + adapter.notifyDataSetChanged(); + } } @Override