Fix unnecessary Health Connect permission requirements when reading workouts #461
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.
Context
Android’s Health Connect enforces a minimum scope policy, where apps must request only the permissions strictly required for their user-facing features.
Currently, reading workout sessions in this plugin implicitly requires Distance and Steps permissions, even when apps only need calories or basic exercise metadata.
This causes Play Store rejections for apps that do not expose distance or step data in their UI, as requesting these permissions cannot be justified under the policy.
What’s changed
DistanceRecordreads intry/catchblocksStepsRecordreads intry/catchblocksTotalCaloriesBurnedRecordcontinues to be read independentlyNotes
This approach ensures the plugin works correctly across all permission scenarios, whether apps request a minimal or extended Health Connect permission set.
The warning logs provide clear signals during debugging, indicating which optional permissions are required for missing workout properties, without breaking the overall data retrieval flow.