Precision Settings, Accuracy Filters, and Better Update Pausing #180
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.
Precision Settings, Accuracy Filters, and Better Update Pausing
These commits add a few features to further configure how and when the iPhone gathers location data. They also add a setting to activate precision sliders for some of the settings.
New Discard Constraint
A new setting
Max Accuracy of Points
does exactly what it says: it discards location updates if their accuracy is worse than the configured threshold, if activated.Precision Setting
UISlider elements for the "Discard" settings can be activated using a toggle in the iOS Settings app. This will also hide the segmented control and add a number to the label above each slider to show the current setting.
The selection of the segmented control indices is updated as the numbers can now differ from the predefined values. These will be rounded down to the next available value if the user switches back to the segmented controls.
If
Precise Settings
is deactivated (default), the interface will revert to the original.Precise settings activated and new settings

Force Pausing Location Updates
As visible in the screenshot, there are two more settings:
Stop Updates if within Radius
andStop Updates After
. These are part of a new feature that helps reduce battery usage while maintaining high update frequency during movement.Working Principle
This works by defining an area around the last used location using a radius and time limit. If the user hasn't left the area within the time limit, location updates will stop entirely. However, "Significant Location Updates" will still be received.
This ensures that the app can still resume tracking even if it’s closed or in the background. One drawback is that significant location updates are sent somewhat arbitrarily once you start moving again, but based on experience, this usually happens after about 500 meters, and at most after around 1 kilometer.
Why Not Just Use the Regular Pause Updates?
Essentially, this feature works like “Pause Location Updates”, but with more control. The user no longer relies on the phone’s arbitrary decisions on when to pause updates, which wastes battery.
Just like with "Pause Location Updates" however, the documentation states that an update after a significant location change is not guaranteed, but from my own personal experience over the past year with this feature I have yet to experience this not working.
Good to Knows
Continuous Tracing Mode
is set to “Both” to ensure that significant location updates are desired.Stop Updates After
setting will be greyed out until the radius constraint is enabled.All features have been personally tested and verified in a live environment.
Issues/Possible improvements
Currently the new stopping feature will behave unpredictably when "Pause Automatically" is activated, but deactivating it fixes that. Possibly implement logic that prevents activation of both at the same time.