From 0348df269b9f9b6ae864304ed9a1cbcf10ed11a3 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Mon, 19 Jun 2023 00:07:08 +0530 Subject: [PATCH] nearby: make sure places is initialized 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() {