From 6011cc7dacf4ee481d2982a01378c02dd2730f8b Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Tue, 10 Sep 2019 18:00:56 +0300 Subject: [PATCH] Search this area buttons are added but button function does not work and button visibility is problematic --- .../nearby/NearbyTestLayersFragment.java | 26 ++++++++++++++++--- .../commons/nearby/SupportMapFragment.java | 3 ++- .../NearbyParentFragmentContract.java | 11 +++++--- .../mvp/fragments/NearbyParentFragment.java | 5 ++++ .../NearbyParentFragmentPresenter.java | 17 ++++++++++++ 5 files changed, 55 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyTestLayersFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyTestLayersFragment.java index 7058d27e9..01eee6651 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyTestLayersFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyTestLayersFragment.java @@ -14,6 +14,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.AnimationUtils; +import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ProgressBar; @@ -136,6 +137,12 @@ public class NearbyTestLayersFragment extends CommonsDaggerSupportFragment imple @BindView(R.id.icon) ImageView icon; + @BindView(R.id.search_this_area_button) + Button searchThisAreaButton; + + @BindView(R.id.search_this_area_button_progress_bar) + ProgressBar searchThisAreaButtonProgressBar; + @Inject LocationServiceManager locationManager; @@ -337,6 +344,11 @@ public class NearbyTestLayersFragment extends CommonsDaggerSupportFragment imple } + @Override + public void addOnCameraMoveListener(MapboxMap.OnCameraMoveListener onCameraMoveListener) { + mapFragment.getMapboxMap().addOnCameraMoveListener(onCameraMoveListener); + } + @Override public void setListFragmentExpanded() { @@ -448,17 +460,25 @@ public class NearbyTestLayersFragment extends CommonsDaggerSupportFragment imple @Override public void addSearchThisAreaButtonAction() { - + searchThisAreaButton.setOnClickListener(nearbyParentFragmentPresenter.onSearchThisAreaClicked()); } @Override public void setSearchThisAreaButtonVisibility(boolean isVisible) { - + if (isVisible) { + searchThisAreaButton.setVisibility(View.VISIBLE); + } else { + searchThisAreaButton.setVisibility(View.GONE); + } } @Override public void setSearchThisAreaProgressVisibility(boolean isVisible) { - + if (isVisible) { + searchThisAreaButtonProgressBar.setVisibility(View.VISIBLE); + } else { + searchThisAreaButtonProgressBar.setVisibility(View.GONE); + } } @Override diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/SupportMapFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/SupportMapFragment.java index c947ee771..5d4929e26 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/SupportMapFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/SupportMapFragment.java @@ -461,7 +461,8 @@ public class SupportMapFragment extends CommonsDaggerSupportFragment @Override public LatLng getCameraTarget() { - return null; + return LocationUtils + .mapBoxLatLngToCommonsLatLng(mapboxMap.getCameraPosition().target); } @Override diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/contract/NearbyParentFragmentContract.java b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/contract/NearbyParentFragmentContract.java index 268ac2299..a5bdb4667 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/contract/NearbyParentFragmentContract.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/contract/NearbyParentFragmentContract.java @@ -20,9 +20,7 @@ public interface NearbyParentFragmentContract { void listOptionMenuItemClicked(); void populatePlaces(LatLng curlatLng, LatLng searchLatLng); boolean isBottomSheetExpanded(); - void addSearchThisAreaButtonAction(); - void setSearchThisAreaButtonVisibility(boolean isVisible); - void setSearchThisAreaProgressVisibility(boolean isVisible); + void checkPermissionsAndPerformAction(Runnable runnable); void resumeFragment(); void displayLoginSkippedWarning(); @@ -33,6 +31,11 @@ public interface NearbyParentFragmentContract { void initViewPositions(); void hideBottomSheet(); void displayBottomSheetWithInfo(Marker marker); + + void addOnCameraMoveListener(MapboxMap.OnCameraMoveListener onCameraMoveListener); + void addSearchThisAreaButtonAction(); + void setSearchThisAreaButtonVisibility(boolean isVisible); + void setSearchThisAreaProgressVisibility(boolean isVisible); } interface UserActions { @@ -43,6 +46,8 @@ public interface NearbyParentFragmentContract { void lockNearby(boolean isNearbyLocked); MapboxMap.OnCameraMoveListener onCameraMove(MapboxMap mapboxMap); void setActionListeners(JsonKvStore applicationKvStore); + + MapboxMap.OnCameraMoveListener onCameraMove(LatLng cameraTarget); } interface ViewsAreReadyCallback { 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 8a2e75087..ec60f2f89 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 @@ -365,6 +365,11 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment } + @Override + public void addOnCameraMoveListener(MapboxMap.OnCameraMoveListener onCameraMoveListener) { + + } + @Override public boolean isNetworkConnectionEstablished() { return NetworkUtils.isInternetConnectionEstablished(getActivity()); 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 f123dee94..8e427e4c0 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 @@ -118,6 +118,8 @@ public class NearbyParentFragmentPresenter //nearbyParentFragmentView.addNetworkBroadcastReceiver(); //nearbyMapFragmentView.setupMapView(null); //nearbyOperationsInitialized(); + this.nearbyParentFragmentView.addSearchThisAreaButtonAction(); + this.nearbyParentFragmentView.addOnCameraMoveListener(onCameraMove(getCameraTarget())); initializeMapOperations(); } @@ -175,6 +177,21 @@ public class NearbyParentFragmentPresenter } + public MapboxMap.OnCameraMoveListener onCameraMove(LatLng cameraTarget) { + + return new MapboxMap.OnCameraMoveListener() { + @Override + public void onCameraMove() { + // If our nearby markers are calculated at least once + if (NearbyController.currentLocation != null) { + if (nearbyParentFragmentView.isNetworkConnectionEstablished()) { + nearbyParentFragmentView.setSearchThisAreaButtonVisibility(true); + } + } + } + }; + } + public void markerUnselected() { nearbyParentFragmentView.hideBottomSheet(); }