Refactor context handling and improve logging in ExternalDisplayPlugin #8
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
ExternalDisplayPlugininExternalDisplayPlugin.ktto improve robustness and debugging, especially around context handling and argument parsing. The changes ensure safer use of thecontextproperty, improve logging for easier debugging, and make argument extraction from Flutter method calls more reliable.Context handling and safety:
contextfrom a non-nullable to a nullable property and added null checks before usage to prevent crashes. Usedcontext!!only after confirming non-null. [1] [2]contextis only set inonAttachedToEngineif it hasn't already been set, avoiding unnecessary overwrites.Argument parsing improvements:
Map<String, Any>, reducing parsing errors and improving type safety.Debugging and logging:
onMethodCalland specifically in the"connect"method to help trace incoming method calls and argument states. [1] [2]Error handling:
"connect"method by returningfalsewhen preconditions (such as available displays or valid context) are not met, ensuring clearer feedback to the Flutter side.✅ Closes #7