From 5a1e0221f727a89880f35ae8b06c230c852df6b0 Mon Sep 17 00:00:00 2001 From: savsch Date: Thu, 26 Dec 2024 18:08:42 +0530 Subject: [PATCH] Nearby offline pins: Add snackbar message --- .../contract/NearbyParentFragmentContract.java | 2 ++ .../nearby/fragments/NearbyParentFragment.java | 13 ++++++++++++- .../presenter/NearbyParentFragmentPresenter.kt | 3 +++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java b/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java index ef3d82d47..e46e95353 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java @@ -18,6 +18,8 @@ public interface NearbyParentFragmentContract { boolean isNetworkConnectionEstablished(); + void updateSnackbar(boolean offlinePinsShown); + void listOptionMenuItemClicked(); void populatePlaces(LatLng currentLatLng); 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 8aa4d63b6..768cbcd8d 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 @@ -65,7 +65,6 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCa import com.google.android.material.snackbar.Snackbar; import com.jakewharton.rxbinding2.view.RxView; import com.jakewharton.rxbinding3.appcompat.RxSearchView; -import fr.free.nrw.commons.BaseMarker; import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.CommonsApplication.BaseLogoutListener; import fr.free.nrw.commons.MapController.NearbyPlacesInfo; @@ -1040,6 +1039,18 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment }; } + @Override + public void updateSnackbar(final boolean offlinePinsShown) { + if (!isNetworkErrorOccurred || snackbar == null) { + return; + } + if (offlinePinsShown) { + snackbar.setText(R.string.nearby_showing_pins_offline); + } else { + snackbar.setText(R.string.no_internet); + } + } + /** * Hide or expand bottom sheet according to states of all sheets */ diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.kt b/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.kt index 927a92b31..c8c456795 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.kt +++ b/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.kt @@ -528,6 +528,9 @@ class NearbyParentFragmentPresenter ensureActive() NearbyController.currentLocation = mapFocus schedulePlacesUpdate(markerPlaceGroups, force = true) + withContext(Dispatchers.Main) { + nearbyParentFragmentView.updateSnackbar(!markerPlaceGroups.isEmpty()) + } } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2137a1c60..843ab6545 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -282,6 +282,7 @@ Copy the wikitext to the clipboard The wikitext was copied to the clipboard Nearby might not work properly, Location not available. + Internet unavailable. Showing only cached places. Location access denied. Please set your location manually to use this feature. Permission required to display a list of nearby places Permission required to display a list of nearby images