Nearby offline pins: Add snackbar message

This commit is contained in:
savsch 2024-12-26 18:08:42 +05:30
parent 3a38a6636c
commit 5a1e0221f7
4 changed files with 18 additions and 1 deletions

View file

@ -18,6 +18,8 @@ public interface NearbyParentFragmentContract {
boolean isNetworkConnectionEstablished();
void updateSnackbar(boolean offlinePinsShown);
void listOptionMenuItemClicked();
void populatePlaces(LatLng currentLatLng);

View file

@ -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
*/

View file

@ -528,6 +528,9 @@ class NearbyParentFragmentPresenter
ensureActive()
NearbyController.currentLocation = mapFocus
schedulePlacesUpdate(markerPlaceGroups, force = true)
withContext(Dispatchers.Main) {
nearbyParentFragmentView.updateSnackbar(!markerPlaceGroups.isEmpty())
}
}
}
}

View file

@ -282,6 +282,7 @@
<string name="copy_wikicode">Copy the wikitext to the clipboard</string>
<string name="wikicode_copied">The wikitext was copied to the clipboard</string>
<string name="nearby_location_not_available">Nearby might not work properly, Location not available.</string>
<string name="nearby_showing_pins_offline">Internet unavailable. Showing only cached places.</string>
<string name="upload_location_access_denied">Location access denied. Please set your location manually to use this feature.</string>
<string name="location_permission_rationale_nearby">Permission required to display a list of nearby places</string>
<string name="location_permission_rationale_explore">Permission required to display a list of nearby images</string>