fix: Fix ANRs, Refactor HealthData operations to use multiple dispatchers#458
Open
mirland wants to merge 1 commit into
Open
fix: Fix ANRs, Refactor HealthData operations to use multiple dispatchers#458mirland wants to merge 1 commit into
mirland wants to merge 1 commit into
Conversation
Author
|
Hi @iarata! Can you check this pr? Because it's fixing a critical issue in my side and it would be nice if I can integrate the package from the "original package" instead of my fork |
ytsni
added a commit
to ytsni/health_bridge
that referenced
this pull request
May 24, 2026
Cherry-picked and combined fixes from upstream PRs: - carp-dk#484: Remove TOTAL_CALORIES_BURNED from iOS dataTypeKeys (SIGABRT crash) - carp-dk#461: Make distance/energy/steps reads optional when fetching workouts (fixes silent empty list + Play Store permission rejection) - carp-dk#458: Replace Handler(mainLooper) with coroutine dispatchers, parallelize workout metric queries (fixes ANRs) - carp-dk#459: Add try/catch to Health Connect operations (rate limit crash fix) - carp-dk#477: Add BIKING_STATIONARY mapping for Health Connect - carp-dk#491: AGP 9.x compatibility (conditional kotlin-android plugin) - carp-dk#492: Fix workoutSummary always null on Android (accept both camelCase and snake_case keys from native layer) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ytsni
added a commit
to ytsni/health_bridge
that referenced
this pull request
May 24, 2026
Cherry-picked and combined fixes from upstream PRs: - carp-dk#484: Remove TOTAL_CALORIES_BURNED from iOS dataTypeKeys (SIGABRT crash) - carp-dk#461: Make distance/energy/steps reads optional when fetching workouts (fixes silent empty list + Play Store permission rejection) - carp-dk#458: Replace Handler(mainLooper) with coroutine dispatchers, parallelize workout metric queries (fixes ANRs) - carp-dk#459: Add try/catch to Health Connect operations (rate limit crash fix) - carp-dk#477: Add BIKING_STATIONARY mapping for Health Connect - carp-dk#491: AGP 9.x compatibility (conditional kotlin-android plugin) - carp-dk#492: Fix workoutSummary always null on Android (accept both camelCase and snake_case keys from native layer)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 updates the coroutine and threading model for Health Connect operations in the Android plugin, ensuring that all results sent to the Flutter layer are dispatched on the main thread using coroutines. It also improves concurrency in workout data aggregation by running multiple Health Connect queries in parallel.
These changes collectively make the plugin more robust, responsive, and maintainable.