From f4e8de79fba592ed8f5572878768bf19c7da658c Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Mon, 19 Jun 2023 16:53:20 +0530 Subject: [PATCH] nearby: make sure places is initialized (#5241) On taking a look at the following stack trace: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference at fr.free.nrw.commons.nearby.fragments.NearbyParentFragment.updatePlaceList(NearbyParentFragment.java:777) at fr.free.nrw.commons.nearby.fragments.NearbyParentFragment.lambda$initFilterChips$10$NearbyParentFragment(NearbyParentFragment.java:730) at fr.free.nrw.commons.nearby.fragments.-$$Lambda$NearbyParentFragment$AGol6SoJlvIYd45Vbz6tTjDiWU4.onCheckedChanged(Unknown Source:2) at android.widget.CompoundButton.setChecked(CompoundButton.java:235) at com.google.android.material.chip.Chip.setChecked(Chip.java:665) at android.widget.CompoundButton.toggle(CompoundButton.java:150) ... ... it seems clear the 'places' list is trying to be iterated in the updatePlaceList method when it is empty. This is resulting in an NPE and consequently an app crash. Avoid the same by ensuring it is always initialized to an empty list. --- .../free/nrw/commons/nearby/fragments/NearbyParentFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java index c71d7a7fe..418880b0a 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java @@ -259,7 +259,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment /** * Saves response of list of places for the first time */ - private List places; + private List places = new ArrayList<>(); @NonNull public static NearbyParentFragment newInstance() {