From 2e7365e902c657eeafbfcf9ab1fd00a20854e997 Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Tue, 2 Jul 2019 18:45:19 +0300 Subject: [PATCH] State: Map ready call is not called but permissions and methods are in correct order --- .../commons/nearby/mvp/fragments/NearbyParentFragment.java | 5 +---- .../mvp/presenter/NearbyParentFragmentPresenter.java | 7 ++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java index 0a1a1a874..99f531614 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java @@ -138,9 +138,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment // Resume the fragment if exist resumeFragment(); if (!((MainActivity) getActivity()).isContributionsFragmentVisible) { - checkPermissionsAndPerformAction(this::resumeFragment); - } else { - resumeFragment(); + checkPermissionsAndPerformAction(nearbyParentFragmentPresenter::performNearbyOperationsIfPermissionGiven); } } @@ -154,7 +152,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment R.string.location_permission_rationale_nearby); } - /** * Thanks to this method we make sure NearbyMapFragment is ready and attached. So that we can * prevent NPE caused by null child fragment. This method is called from child fragment when diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/presenter/NearbyParentFragmentPresenter.java b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/presenter/NearbyParentFragmentPresenter.java index 708d91a6f..811c750d0 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/presenter/NearbyParentFragmentPresenter.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/presenter/NearbyParentFragmentPresenter.java @@ -99,7 +99,12 @@ public class NearbyParentFragmentPresenter Timber.d("initializing nearby operations started"); // Add location listener to be notified about location changes locationServiceManager.addLocationListener(this); - nearbyParentFragmentView.checkPermissionsAndPerformAction(nearbyParentFragmentView::resumeFragment); + nearbyParentFragmentView.checkPermissionsAndPerformAction(this::performNearbyOperationsIfPermissionGiven); + + } + + public void performNearbyOperationsIfPermissionGiven() { + Timber.d("performNearbyOperationsIfPermissionGiven"); nearbyParentFragmentView.registerLocationUpdates(locationServiceManager); // Nearby buttons should be active, they should be inactive only during update lockNearby(false);