diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceDao.java b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceDao.java index f18b80004..85233e5b1 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceDao.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceDao.java @@ -1,6 +1,7 @@ package fr.free.nrw.commons.nearby; import androidx.room.Dao; +import androidx.room.Delete; import androidx.room.Insert; import androidx.room.OnConflictStrategy; import androidx.room.Query; @@ -24,6 +25,12 @@ public abstract class PlaceDao { @Insert(onConflict = OnConflictStrategy.REPLACE) public abstract void saveSynchronous(Place place); + /** + * Deletes a Place object from the database + * based on the provided entity. + */ + @Delete + public abstract void deletePlace(Place place); /** * Retrieves a Place object from the database based on the provided entity ID. * diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/PlacesLocalDataSource.java b/app/src/main/java/fr/free/nrw/commons/nearby/PlacesLocalDataSource.java index 8de437c82..61a89fd06 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/PlacesLocalDataSource.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/PlacesLocalDataSource.java @@ -36,4 +36,11 @@ public class PlacesLocalDataSource { public Completable savePlace(Place place) { return placeDao.save(place); } + + /** + * Deletes a Place object from the database + * based on the provided entity. + */ + public void deletePlace(final Place place) {placeDao.deletePlace(place);} + } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/PlacesRepository.java b/app/src/main/java/fr/free/nrw/commons/nearby/PlacesRepository.java index 85e964ddb..ee7d2de08 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/PlacesRepository.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/PlacesRepository.java @@ -38,4 +38,10 @@ public class PlacesRepository { return localDataSource.fetchPlace(entityID); } + /** + * Deletes a Place object from the database + * based on the provided entity. + */ + public void deletePlace(final Place place){ localDataSource.deletePlace(place);} + }