The problem was actually that the LocationRepository instances in the LocationService and in the LocationViewModel were different (checked this using Log.d(className, "Hash code : $locationRepository.hashCode()) and therefore the LocationViewModel was not subscribing to the right repository.
To solve the issue I added @Singleton to my LocationRepository :
@Singleton
class LocationRepository @Inject constructor(@ApplicationContext val context: Context)