All Projects → KI-labs → gps-permission-checks-livedata

KI-labs / gps-permission-checks-livedata

Licence: MIT license
Sample project to demonstrate how GPS and Runtime Location Permission checks can be done on UI and Background Service using LiveData

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to gps-permission-checks-livedata

My Android Garage
A quick reference guide for Android development.
Stars: ✭ 66 (+78.38%)
Mutual labels:  service, location-services
background-service-lib
Essential classes for reliable background services.
Stars: ✭ 24 (-35.14%)
Mutual labels:  service
docs
PrestaShop technical documentation
Stars: ✭ 102 (+175.68%)
Mutual labels:  service
airports-db
Public airports database API service based on GitHub
Stars: ✭ 17 (-54.05%)
Mutual labels:  service
angular-odata-es5
OData Service for Angular.io (es5 version)
Stars: ✭ 45 (+21.62%)
Mutual labels:  service
easemesh
A service mesh implementation for connecting, control, and observe services in spring-cloud.
Stars: ✭ 454 (+1127.03%)
Mutual labels:  service
ex aws rekognition
Package to use AWS Rekognition service
Stars: ✭ 21 (-43.24%)
Mutual labels:  service
ember-contextual-services
Services in Ember are scoped to the app as a whole and are singletons. Sometimes you don't want that. :) This addon provides ephemeral route-based services.
Stars: ✭ 20 (-45.95%)
Mutual labels:  service
acikseminer2020
servis ve süreçlerle ilgili basit örnekler
Stars: ✭ 41 (+10.81%)
Mutual labels:  service
service-tree
[ABANDONED] A tree that stores services in its node for a given key, and allows traversing them.
Stars: ✭ 33 (-10.81%)
Mutual labels:  service
ex aws sns
No description or website provided.
Stars: ✭ 19 (-48.65%)
Mutual labels:  service
XamarinForms.LocationService
Xamarin Background Services, Background Location Updates, Location Updates, BroadCastReceiver
Stars: ✭ 61 (+64.86%)
Mutual labels:  location-services
api
Core service used to handle events from clients
Stars: ✭ 36 (-2.7%)
Mutual labels:  service
Coyote
Framework providing operating system abstractions and a range of shared networking (RDMA, TCP/IP) and memory services to common modern heterogeneous platforms.
Stars: ✭ 80 (+116.22%)
Mutual labels:  service
WPWatcher
Wordpress Watcher is a wrapper for WPScan that manages scans on multiple sites and reports by email and/or syslog. Schedule scans and get notified when vulnerabilities, outdated plugins and other risks are found.
Stars: ✭ 34 (-8.11%)
Mutual labels:  service
backup-repository
Backup storage for E2E GPG-encrypted files, with multi-user, quotas, versioning, using a object storage (S3/Min.io/GCS etc.) and deployed on Kubernetes or standalone.
Stars: ✭ 21 (-43.24%)
Mutual labels:  service
FactoryOrchestrator
A cross-platform system service which provides a simple way to run and manage factory line validation, developer inner-loop, diagnostics, and fault analysis workflows.
Stars: ✭ 36 (-2.7%)
Mutual labels:  service
senlin
Clustering service for managing homogeneous objects in OpenStack. Mirror of code maintained at opendev.org.
Stars: ✭ 43 (+16.22%)
Mutual labels:  service
Dagger-Hilt-MVVM
Sample app that demonstrates the usage of Dagger Hilt with Kotlin & MVVM
Stars: ✭ 62 (+67.57%)
Mutual labels:  livedata
snippets-service
Service powering snippets on Firefox's about:home.
Stars: ✭ 32 (-13.51%)
Mutual labels:  service

Monitoring GPS and Location Permission checks using LiveData

Background:

In Android apps, users need to allow specific permissions so that app can use that particular resource. All location tracking apps need “GPS to be enabled” and want users to allow “Location Permission” so that app can start receiving location coordinates. For our usecase, it was critically needed to ensure both of these requirements are fulfilled. If not, user should be alerted and informed on UI level during or after Onboarding and also when Location Tracking is started/running in background.

This is a sample app to demonstrate the usecase.

Motivation to publish my solution:

There are already native android ways to implement both of these checks but we tried to do it using LiveData which is a newly introduced API from Android to handle asynchronous operations using Subscribe/Publish mechanism. We faced our fair share of challenges and there was limited help available as not many have tried for this usecase. Solutions which are challenging are the best candidate to be shared with public because it means many others out there will face the same problems and it could save their time. At the end of the day, it’s basically giving back to the community.

What is this project about:

  1. UI (app is active): Checking for both elements, displaying state and showing dialogs for user to react accordingly

    Medium Article: Read Here

  2. Background (app is not active): Check for both elements as part of Service whenever it is started by System and inform user via notification so that user can enable them for us. Otherwise, location tracking won’t succeed at all.

    Medium Article: Read Here

How sample app looks like or behaves


                                     



                                     

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].