Skip to content

Commit ac3e515

Browse files
Fixes commons-app#3705 (Crash when viewing pic I just uploaded) (commons-app#3782)
* Fixes commons-app#3705 * Let the MediaDetailPager fragment know when the contributions have been updated * Handle NPE, null check on adapter in MediaDetailPagerFragment
1 parent d950f72 commit ac3e515

File tree

4 files changed

+14
-1
lines changed

4 files changed

+14
-1
lines changed

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,14 @@ public void fetchMediaUriFor(Contribution contribution) {
224224
Timber.d("Fetching thumbnail for %s", contribution.filename);
225225
contributionsPresenter.fetchMediaDetails(contribution);
226226
}
227+
228+
@Override
229+
public void onContributionsUpdated() {
230+
//If the contributions are updated, let the pager fragment know
231+
if (null != mediaDetailPagerFragment) {
232+
mediaDetailPagerFragment.notifyDataSetChanged();
233+
}
234+
}
227235
});
228236

229237
if(null==mediaDetailPagerFragment){

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListAdapter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,7 @@ public interface Callback {
7777
Contribution getContributionForPosition(int position);
7878

7979
void fetchMediaUriFor(Contribution contribution);
80+
81+
void onContributionsUpdated();
8082
}
8183
}

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ public void setContributions(List<Contribution> contributionList) {
188188
this.contributions.clear();
189189
this.contributions.addAll(contributionList);
190190
adapter.setContributions(contributions);
191+
callback.onContributionsUpdated();
191192
}
192193

193194
public interface SourceRefresher {

app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,9 @@ public void showImage(int i) {
320320
* The method notify the viewpager that number of items have changed.
321321
*/
322322
public void notifyDataSetChanged(){
323-
adapter.notifyDataSetChanged();
323+
if (null != adapter) {
324+
adapter.notifyDataSetChanged();
325+
}
324326
}
325327

326328
@Override

0 commit comments

Comments
 (0)