Refactor: Improve type safety #772
Open
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 PR introduces type-safe refactoring across the codebase and reorganizes platform-specific parameters for better maintainability and developer
experience.
Key Changes
Type Safety Improvements:
CallEventto use sealed classes with pattern matching for exhaustive event handlingtoString()methods to all entity classes for better debuggingactiveCalls()return type fromList<dynamic>toList<CallKitParams>for type safetyPlatform Parameter Reorganization:
isCustomNotification,logoUrl,ringtonePath,backgroundColor,backgroundUrl,actionColor,textColor, etc.) intoAndroidParamsiconName,handleType,normalHandle,audioSessionMode, etc.) intoIOSParamsnormalHandlefrom common parameters to iOS-specific (as it's only used on iOS)uuidfield (now usingidconsistently)textAcceptandtextDeclineto platform-specific parametersheadersparameter supportOther Improvements:
Breaking Changes
CallEventnow uses sealed classes - event handling code needs to be updated to use pattern matchingactiveCalls()now returnsList<CallKitParams>instead ofList<dynamic>AndroidParamsandIOSParams)Migration Guide
Event Handling:
Active Calls:
Test Plan
Please carefully confirm all changes.