RoboSwag/livedata-location
Daniil Baherov 3dbe35fedf MB-14704: replace null arg with main looper to fix huawei maps on latest versions 2022-08-02 16:21:06 +03:00
..
src/main MB-14704: replace null arg with main looper to fix huawei maps on latest versions 2022-08-02 16:21:06 +03:00
.gitignore location livedata (#3) 2018-10-31 15:00:58 +03:00
README.md Fix submodules' READMEs 2019-09-10 13:58:03 +03:00
build.gradle Merge branch 'master' into ubrir_master/update_roboswag 2020-12-27 17:30:50 +05:00

README.md

livedata-location

Модуль позволяющий получать местоположение пользователя в виде потока данных LiveData.

Основный интерфейсы и классы

Класс LocationLiveData. В конструкторе принимает Context и LocationRequest. Посылает Location подписчикам через указанные в LocationRequest интервалы времени. Метод observe позволяет подписаться на эти обновления. Данный метод принимает LifecycleOwner и Observer. Стоит учесть, что для использования данного класса нужно одно из следующих разрешений ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION.

Примеры

Во ViewModel.

val locationWithInterval = LocationLiveData(
        context,
        LocationRequest
                .create()
                .setInterval(5000)
                .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
)

Во ViewController.

viewModel.locationWithInterval.observe(this, Observer(::onLocationChanged))