Android library that wraps Google Play Services Location and Places APIs into RxJava Observables, reducing boilerplate code.
ReactiveLocation is an Android library that wraps Google Play Services Location and Places APIs into RxJava Observables. It solves the problem of verbose callback-based APIs by providing a reactive interface for location tracking, geofencing, geocoding, and activity recognition, significantly reducing boilerplate code.
Android developers building location-aware applications who want to leverage reactive programming patterns with RxJava.
Developers choose ReactiveLocation because it eliminates the complexity of managing Google Play Services connections and callbacks, offering a clean, composable API that integrates seamlessly with RxJava operators for filtering, mapping, and combining location streams.
Small library that wraps Google Play Service API in brilliant RxJava Observables reducing boilerplate to minimum.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Transforms callback-heavy Google Play Services APIs into composable RxJava Observables, enabling easy use of operators like filter and map for location streams, as shown in examples with getUpdatedLocation().
Covers a wide range of features including geofencing, geocoding, activity recognition, and Places API through a single ReactiveLocationProvider, reducing boilerplate across different services.
Handles Google API client connections and disconnections as Observables via getGoogleApiClientObservable(), abstracting lifecycle management and preventing common errors.
Supports standard GMS LocationRequest objects for fine-tuning updates, such as setting priority and intervals, allowing custom setups like in the 'Cooler examples' section.
Requires explicit inclusion and understanding of RxJava 2.x, adding complexity for teams not using reactive programming or those transitioning to other frameworks like Kotlin Flow.
Tied to specific Play Services versions (11+ for stable version 2.1), necessitating updates and compatibility checks that can break with newer Android releases.
Integrating Places API requires obtaining and configuring an API key through Google Cloud Console, as noted in the sample setup, adding extra steps beyond core location features.