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