Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 23 additions & 26 deletions example/lib/src/callscreen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_webrtc/webrtc.dart';
import 'package:sip_ua/src/RTCSession.dart';
import 'package:sip_ua/src/NameAddrHeader.dart';
import 'package:sip_ua/src/event_manager/event_manager.dart';

import 'widgets/action_button.dart';
import 'widgets/numpad.dart';
import 'sip_ua_helper.dart';

class CallScreenWidget extends StatefulWidget {
Expand All @@ -27,7 +27,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
NameAddrHeader _local_identity;
NameAddrHeader _remote_identity;
bool _showNumPad = false;
String _label;

String _timeLabel = '00:00';
Timer _timer;

Expand Down Expand Up @@ -103,37 +103,36 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
}

void _bindEventListeners() {
helper.on('callState', _handleCalllState);
helper.on(EventCallState(), _handleCalllState);
}

void _handleCalllState(String state, Map<String, dynamic> data) {
if (state == 'hold' || state == 'unhold') {
_hold = state == 'hold';
_holdOriginator = data['originator'] as String;
void _handleCalllState(EventCallState data) {
if (data.state == 'hold' || data.state == 'unhold') {
_hold = data.state == 'hold';
_holdOriginator = data.originator;
this.setState(() {});
return;
}

if (state == 'muted') {
if (data['audio'] as bool) _audioMuted = true;
if (data['video'] as bool) _videoMuted = true;
if (data.state == 'muted') {
if (data.audio) _audioMuted = true;
if (data.video) _videoMuted = true;
this.setState(() {});
return;
}

if (state == 'unmuted') {
if (data['audio'] as bool) _audioMuted = false;
if (data['video'] as bool) _videoMuted = false;
if (data.state == 'unmuted') {
if (data.audio) _audioMuted = false;
if (data.video) _videoMuted = false;
this.setState(() {});
return;
}

if (state != 'stream') {
_state = state;
this.setState(() {});
if (data.state != 'stream') {
_state = data.state;
}

switch (state) {
switch (data.state) {
case 'stream':
_handelStreams(data);
break;
Expand All @@ -149,7 +148,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
}

void _removeEventListeners() {
helper.remove('callState', _handleCalllState);
helper.remove(EventCallState(), _handleCalllState);
}

void _backToDialPad() {
Expand All @@ -159,15 +158,15 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
});
}

void _handelStreams(Map<String, dynamic> event) async {
var stream = event['stream'] as MediaStream;
if (event['originator'] == 'local') {
void _handelStreams(EventCallState event) async {
var stream = event.stream;
if (event.originator == 'local') {
if (_localRenderer != null) {
_localRenderer.srcObject = stream;
}
_localStream = stream;
}
if (event['originator'] == 'remote') {
if (event.originator == 'remote') {
if (_remoteRenderer != null) {
_remoteRenderer.srcObject = stream;
}
Expand Down Expand Up @@ -236,7 +235,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
this.setState(() {
//_showNumPad = !_showNumPad;
});
helper.sendDTMF('1');
helper.sendDTMF('4654');
}

void _toggleSpeaker() {
Expand All @@ -246,7 +245,6 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
}
}


Widget _buildActionButtons() {
var hangupBtn = ActionButton(
title: "hangup",
Expand Down Expand Up @@ -351,7 +349,6 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
var actionWidgets = <Widget>[];

if (_showNumPad) {

} else {
if (advanceActions.isNotEmpty) {
actionWidgets.add(Padding(
Expand All @@ -361,7 +358,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget> {
children: advanceActions)));
}
}

actionWidgets.add(Padding(
padding: const EdgeInsets.all(3),
child: Row(
Expand Down
15 changes: 8 additions & 7 deletions example/lib/src/dialpad.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'sip_ua_helper.dart';
import 'widgets/numpad.dart';
import 'package:sip_ua/src/event_manager/event_manager.dart';

class DialPadWidget extends StatefulWidget {
final SIPUAHelper _helper;
Expand Down Expand Up @@ -31,14 +32,14 @@ class _MyDialPadWidget extends State<DialPadWidget> {
this.setState(() {});
}

void _handleRegisterState(String state, Map<String, dynamic> data) {
this.setState(() {});
}

void _bindEventListeners() {
helper.on('registerState', _handleRegisterState);
helper.on('uaState', (String state, Map<String, dynamic> data) {
if (state == 'newRTCSession') Navigator.pushNamed(context, '/callscreen');
helper.on(EventRegisterState(), (EventRegisterState data) {
this.setState(() {});
});
helper.on(EventUaState(), (EventUaState data) {
if (data.state == 'newRTCSession') {
Navigator.pushNamed(context, '/callscreen');
}
});
}

Expand Down
17 changes: 9 additions & 8 deletions example/lib/src/register.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'sip_ua_helper.dart';
import 'package:sip_ua/src/event_manager/event_manager.dart';

class RegisterWidget extends StatefulWidget {
final SIPUAHelper _helper;
Expand All @@ -27,16 +28,16 @@ class _MyRegisterWidget extends State<RegisterWidget> {
initState() {
super.initState();
_registerState = helper.registerState;
helper.on('registerState', _handleRegisterState);
helper.on('socketState', _handleSocketState);
helper.on(EventRegisterState(), _handleRegisterState);
helper.on(EventSocketState(), _handleSocketState);
_loadSettings();
}

@override
deactivate() {
super.deactivate();
helper.remove('registerState', _handleRegisterState);
helper.remove('socketState', _handleSocketState);
helper.remove(EventRegisterState(), _handleRegisterState);
helper.remove(EventSocketState(), _handleSocketState);
_saveSettings();
}

Expand All @@ -58,15 +59,15 @@ class _MyRegisterWidget extends State<RegisterWidget> {
prefs.commit();
}

void _handleRegisterState(String state, Map<String, dynamic> data) {
void _handleRegisterState(EventRegisterState data) {
this.setState(() {
_registerState = state;
_registerState = data.state;
});
}

void _handleSocketState(String state, Map<String, dynamic> data) {
void _handleSocketState(EventSocketState data) {
this.setState(() {
_registerState = state;
_registerState = data.state;
});
}

Expand Down
Loading