flutter_twilio_commkit_platform_interface 0.1.2
flutter_twilio_commkit_platform_interface: ^0.1.2 copied to clipboard
Platform interface for flutter_twilio_commkit. Defines the abstract contract implemented by the Android and iOS platform packages.
0.1.2 #
Improvements #
- Added comprehensive unit tests for
TwilioCommKitPlatform,VideoRoomModel,VoiceCallModel, andTwilioCredentialsModel(16 tests). - Updated README to reference
flutter_twilio_commkit: ^0.1.2.
0.1.1 #
Fixes #
- Fixed missing trailing commas in
video_event.dartandmethod_channel_twilio_commkit.dart. - Added
.pubignoreto exclude generated.dart_tool/andpubspec.lockfrom published package.
0.1.0 #
Voice #
- Outgoing calls via
TwilioVoice.instance.startCall() - Incoming calls via FCM (Android) and PushKit/APNs (iOS)
- Accept / reject incoming calls
- Mute, hold, speakerphone controls
- DTMF dialpad — built-in bottom sheet +
sendDigits()API - Bluetooth audio routing
- Android foreground service for background calls
- iOS CallKit integration with native UI
- Reconnection handling
- Call quality warning stream (
onCallQualityWarning) - Mute/hold change event streams
- Shared
callConnectedAttimestamp — synchronized call timer across caller and callee
Video #
- 1-to-1 and group video calls
- Adaptive layout engine (1 / 2 / 3 / 4+ participants)
- Draggable picture-in-picture local preview
- Camera switch (front / back)
- Audio and video mute controls
- Dominant speaker detection
- Network quality monitoring per participant
controlsBuilderandparticipantBuilderoverride callbacksenableVideo/enableAudioinitial-state flagslocalIdentityparameter for participant list
UI #
TwilioVoiceCallScreen— full voice call UI with pulsing avatar, timer, dialpadTwilioVideoCallScreen— adaptive multi-participant video UI with draggable PIPTwilioIncomingCallScreen— accept/decline screen with ringtone supportTwilioCallHandler— automatic incoming call routing (foreground / background / killed-app)TwilioCallControls— reusable call control bar widgetTwilioAvatar— participant avatar with image/fallback supportTwilioVideoView/TwilioVideoPreview— raw video track renderers
Theming #
TwilioThemeData.dark()— deep navy presetTwilioThemeData.light()— white/grey presetTwilioThemeData.videoCinema()— full-black cinema presetTwilioThemeData.videoPurple()— deep purple preset with gradient incoming screenTwilioThemeData.videoOcean()— ocean blue preset- Full custom theme support: colours, typography, button styles, avatar, PIP, tiles
controlBarBlurglassmorphism effectincomingBackgroundGradientfor incoming call screen- Per-button style overrides:
muteButtonStyle,endCallButtonStyle,acceptButtonStyle,rejectButtonStyle,videoButtonStyle,flipCameraButtonStyle,holdButtonStyle,speakerButtonStyle
Customization #
resolveParticipantImagecallback on all call screen widgets — supply remote participant avatars from your contact store- Custom ringtone via
TwilioThemeData.ringtonePath/ringtoneLoop avatarWidgetoverride — replace default avatar with any widgetcontrolsBuilder— replace entire controls bar in video screenparticipantBuilder— replace individual participant tiles
Architecture #
- Federated plugin architecture (4-package split)
- Platform channels with strongly typed Pigeon-ready interface
- Riverpod state management (internal only — client apps stay framework-agnostic)
- Strongly typed event streams (
onCallStateChanged,onIncomingCall,onCallQualityWarning,onRoomEvent) - Strongly typed exceptions (
TwilioAuthException,TwilioCallException,TwilioNetworkException,TwilioPermissionException) - Configurable logging (
TwilioLogLevel.debug / warning / error / none) - Chat module placeholder for future Twilio Conversations integration