From fd72e4593017c8d65ae262af6236dfacaadd5315 Mon Sep 17 00:00:00 2001 From: maskara Date: Sun, 14 May 2017 14:42:30 +0200 Subject: [PATCH] Fix Crash issue when GPS location is not available --- .../nrw/commons/nearby/NearbyMapFragment.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java index c15a407c3..77512139e 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java @@ -66,6 +66,17 @@ public class NearbyMapFragment extends android.support.v4.app.Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + if (curLatLng != null) { + setupMapView(savedInstanceState); + } + + setHasOptionsMenu(false); + + return mapView; + } + + private void setupMapView(Bundle savedInstanceState) { MapboxMapOptions options = new MapboxMapOptions() .styleUrl(Style.OUTDOORS) .camera(new CameraPosition.Builder() @@ -99,10 +110,6 @@ public class NearbyMapFragment extends android.support.v4.app.Fragment { } else { mapView.setStyleUrl(getResources().getString(R.string.map_theme_light)); } - - setHasOptionsMenu(false); - - return mapView; } @Override @@ -112,31 +119,41 @@ public class NearbyMapFragment extends android.support.v4.app.Fragment { @Override public void onStart() { - mapView.onStart(); + if (mapView != null) { + mapView.onStart(); + } super.onStart(); } @Override public void onPause() { - mapView.onPause(); + if (mapView != null) { + mapView.onPause(); + } super.onPause(); } @Override public void onResume() { - mapView.onResume(); + if (mapView != null) { + mapView.onResume(); + } super.onResume(); } @Override public void onStop() { - mapView.onStop(); + if (mapView != null) { + mapView.onStop(); + } super.onStop(); } @Override public void onDestroyView() { - mapView.onDestroy(); + if (mapView != null) { + mapView.onDestroy(); + } super.onDestroyView(); } }