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 2a2c7ba29..077ada12d 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 @@ -332,22 +332,26 @@ public class ContributionsFragment return contributionsListFragment.getAdapter().getCount(); } - @Override - public void notifyDatasetChanged() { - - } - @Override public void registerDataSetObserver(DataSetObserver observer) { - + Adapter adapter = contributionsListFragment.getAdapter(); + if (adapter == null) { + observersWaitingForLoad.add(observer); + } else { + adapter.registerDataSetObserver(observer); + } } @Override public void unregisterDataSetObserver(DataSetObserver observer) { - + Adapter adapter = contributionsListFragment.getAdapter(); + if (adapter == null) { + observersWaitingForLoad.remove(observer); + } else { + adapter.unregisterDataSetObserver(observer); + } } - @SuppressWarnings("ConstantConditions") private void setUploadCount() {