Initial location alarm impl #82
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new "Location reached" feature, which allows the app to trigger actions when the user arrives at a specified geographic location. The implementation includes significant updates to permissions, dependency management, the manifest, and the main activity logic, as well as the addition of new data models and repositories for location alarms.
Location Feature Implementation:
FeatureRegistry, including required permissions (LOCATION,BACKGROUND_LOCATION,USE_FULL_SCREEN_INTENT) and UI integration in the settings screen. [1] [2] [3]LocationReachedSettingsUIand hooked it into the settings flow, including permission checks and prompts for required location permissions. [1] [2]Permissions and Manifest Updates:
AndroidManifest.xmlto request foreground, background, and coarse/fine location permissions, as well as to support full-screen intents and boot completion for the new feature. Added intent filters to handle shared locations and geo URIs. [1] [2] [3] [4]PermissionRegistryfor the location feature.Dependency Management:
build.gradle.ktsto support location services and UI enhancements. [1] [2]Data Layer Additions:
LocationAlarmdata model andLocationReachedRepositoryfor managing location alarm state and persistence. [1] [2]Main Activity and Intent Handling:
MainActivityto instantiate aLocationReachedViewModel, handle incoming location intents (including geo URIs and shared locations), and route the user to the appropriate settings screen when a location intent is received. [1] [2] [3] [4]These changes collectively enable the new "Location reached" feature, with proper permission handling, user interface integration, and background service support.