Skip to content

Commit c4a41de

Browse files
PerondasPerondasPerondas
authored
Code quality (#326)
* Implemented lints Working on Various issues with code quality #323 * Fixed up example * Further lint fixes Working on #323 * Began nullability rework Working on #323 * Made sockets strongly typed * Cleaned up utils Working 0n #323 * Continued nullability rework + updated constant Working on Various issues with code quality #323 * Fixed late issue in dialog * Fixed request sender * Fixed bug in authentication * Slimmed down constructor of RTCSession Working on Various issues with code quality #323 * Fixed a test * Reworked constructor of UA Working on Various issues with code quality #323 * Reworked transport class Fixed a potential infite loop Made field final Working on Various issues with code quality #323 * Reworked options * Reworked messsage class Workingon Various issues with code quality #323 * Cleaned up math class Working on Various issues with code quality #323 * Reworked subscriber class Working in Various issues with code quality #323 * Removed unwanted late * Fixed a possible concurrent modification exception Working on Various issues with code quality #323 * Removed unused file. WebRtc version bump. Co-authored-by: Perondas <114622@fhwn.ac.at> Co-authored-by: Perondas <Pperondas@gmail.com>
1 parent 50cbe6f commit c4a41de

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+495
-721
lines changed

example/lib/src/about.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class AboutWidget extends StatelessWidget {
1414
child: Column(
1515
children: <Widget>[
1616
Text(
17-
'\Github:\nhttps://github.com/cloudwebrtc/dart-sip-ua.git')
17+
'GitHub:\nhttps://github.com/cloudwebrtc/dart-sip-ua.git')
1818
],
1919
),
2020
),

example/lib/src/callscreen.dart

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
3636
CallStateEnum _state = CallStateEnum.NONE;
3737
SIPUAHelper? get helper => widget._helper;
3838

39-
bool get voiceonly =>
39+
bool get voiceOnly =>
4040
(_localStream == null || _localStream!.getVideoTracks().isEmpty) &&
4141
(_remoteStream == null || _remoteStream!.getVideoTracks().isEmpty);
4242

43-
String? get remote_identity => call!.remote_identity;
43+
String? get remoteIdentity => call!.remote_identity;
4444

4545
String get direction => call!.direction;
4646

@@ -65,7 +65,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
6565
_timer = Timer.periodic(Duration(seconds: 1), (Timer timer) {
6666
Duration duration = Duration(seconds: timer.tick);
6767
if (mounted) {
68-
this.setState(() {
68+
setState(() {
6969
_timeLabel = [duration.inMinutes, duration.inSeconds]
7070
.map((seg) => seg.remainder(60).toString().padLeft(2, '0'))
7171
.join(':');
@@ -102,21 +102,21 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
102102
callState.state == CallStateEnum.UNHOLD) {
103103
_hold = callState.state == CallStateEnum.HOLD;
104104
_holdOriginator = callState.originator;
105-
this.setState(() {});
105+
setState(() {});
106106
return;
107107
}
108108

109109
if (callState.state == CallStateEnum.MUTED) {
110110
if (callState.audio!) _audioMuted = true;
111111
if (callState.video!) _videoMuted = true;
112-
this.setState(() {});
112+
setState(() {});
113113
return;
114114
}
115115

116116
if (callState.state == CallStateEnum.UNMUTED) {
117117
if (callState.audio!) _audioMuted = false;
118118
if (callState.video!) _videoMuted = false;
119-
this.setState(() {});
119+
setState(() {});
120120
return;
121121
}
122122

@@ -154,7 +154,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
154154
void registrationStateChanged(RegistrationState state) {}
155155

156156
void _cleanUp() {
157-
if(_localStream == null) return;
157+
if (_localStream == null) return;
158158
_localStream?.getTracks().forEach((track) {
159159
track.stop();
160160
});
@@ -188,7 +188,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
188188
_remoteStream = stream;
189189
}
190190

191-
this.setState(() {
191+
setState(() {
192192
_resizeLocalVideo();
193193
});
194194
}
@@ -211,26 +211,26 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
211211
}
212212

213213
void _handleAccept() async {
214-
bool remote_has_video = call!.remote_has_video;
214+
bool remoteHasVideo = call!.remote_has_video;
215215
final mediaConstraints = <String, dynamic>{
216216
'audio': true,
217-
'video': remote_has_video
217+
'video': remoteHasVideo
218218
};
219219
MediaStream mediaStream;
220220

221-
if (kIsWeb && remote_has_video) {
221+
if (kIsWeb && remoteHasVideo) {
222222
mediaStream =
223223
await navigator.mediaDevices.getDisplayMedia(mediaConstraints);
224224
mediaConstraints['video'] = false;
225225
MediaStream userStream =
226226
await navigator.mediaDevices.getUserMedia(mediaConstraints);
227227
mediaStream.addTrack(userStream.getAudioTracks()[0], addToNative: true);
228228
} else {
229-
mediaConstraints['video'] = remote_has_video;
229+
mediaConstraints['video'] = remoteHasVideo;
230230
mediaStream = await navigator.mediaDevices.getUserMedia(mediaConstraints);
231231
}
232232

233-
call!.answer(helper!.buildCallOptions(!remote_has_video),
233+
call!.answer(helper!.buildCallOptions(!remoteHasVideo),
234234
mediaStream: mediaStream);
235235
}
236236

@@ -264,9 +264,9 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
264264
}
265265
}
266266

267-
late String _tansfer_target;
267+
late String _transferTarget;
268268
void _handleTransfer() {
269-
showDialog<Null>(
269+
showDialog<void>(
270270
context: context,
271271
barrierDismissible: false,
272272
builder: (BuildContext context) {
@@ -275,7 +275,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
275275
content: TextField(
276276
onChanged: (String text) {
277277
setState(() {
278-
_tansfer_target = text;
278+
_transferTarget = text;
279279
});
280280
},
281281
decoration: InputDecoration(
@@ -287,7 +287,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
287287
TextButton(
288288
child: Text('Ok'),
289289
onPressed: () {
290-
call!.refer(_tansfer_target);
290+
call!.refer(_transferTarget);
291291
Navigator.of(context).pop();
292292
},
293293
),
@@ -309,7 +309,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
309309
}
310310

311311
void _handleKeyPad() {
312-
this.setState(() {
312+
setState(() {
313313
_showNumPad = !_showNumPad;
314314
});
315315
}
@@ -324,7 +324,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
324324
}
325325

326326
List<Widget> _buildNumPad() {
327-
var lables = [
327+
var labels = [
328328
[
329329
{'1': ''},
330330
{'2': 'abc'},
@@ -347,15 +347,15 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
347347
],
348348
];
349349

350-
return lables
350+
return labels
351351
.map((row) => Padding(
352352
padding: const EdgeInsets.all(3),
353353
child: Row(
354354
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
355355
children: row
356356
.map((label) => ActionButton(
357-
title: '${label.keys.first}',
358-
subTitle: '${label.values.first}',
357+
title: label.keys.first,
358+
subTitle: label.values.first,
359359
onPressed: () => _handleDtmf(label.keys.first),
360360
number: true,
361361
))
@@ -406,7 +406,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
406406
onPressed: () => _muteAudio(),
407407
));
408408

409-
if (voiceonly) {
409+
if (voiceOnly) {
410410
advanceActions.add(ActionButton(
411411
title: "keypad",
412412
icon: Icons.dialpad,
@@ -420,7 +420,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
420420
));
421421
}
422422

423-
if (voiceonly) {
423+
if (voiceOnly) {
424424
advanceActions.add(ActionButton(
425425
title: _speakerOn ? 'speaker off' : 'speaker on',
426426
icon: _speakerOn ? Icons.volume_off : Icons.volume_up,
@@ -501,13 +501,13 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
501501
Widget _buildContent() {
502502
var stackWidgets = <Widget>[];
503503

504-
if (!voiceonly && _remoteStream != null) {
504+
if (!voiceOnly && _remoteStream != null) {
505505
stackWidgets.add(Center(
506506
child: RTCVideoView(_remoteRenderer!),
507507
));
508508
}
509509

510-
if (!voiceonly && _localStream != null) {
510+
if (!voiceOnly && _localStream != null) {
511511
stackWidgets.add(Container(
512512
child: AnimatedContainer(
513513
child: RTCVideoView(_localRenderer!),
@@ -523,7 +523,7 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
523523

524524
stackWidgets.addAll([
525525
Positioned(
526-
top: voiceonly ? 48 : 6,
526+
top: voiceOnly ? 48 : 6,
527527
left: 0,
528528
right: 0,
529529
child: Center(
@@ -535,17 +535,17 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
535535
child: Padding(
536536
padding: const EdgeInsets.all(6),
537537
child: Text(
538-
(voiceonly ? 'VOICE CALL' : 'VIDEO CALL') +
538+
(voiceOnly ? 'VOICE CALL' : 'VIDEO CALL') +
539539
(_hold
540-
? ' PAUSED BY ${this._holdOriginator!.toUpperCase()}'
540+
? ' PAUSED BY ${_holdOriginator!.toUpperCase()}'
541541
: ''),
542542
style: TextStyle(fontSize: 24, color: Colors.black54),
543543
))),
544544
Center(
545545
child: Padding(
546546
padding: const EdgeInsets.all(6),
547547
child: Text(
548-
'$remote_identity',
548+
'$remoteIdentity',
549549
style: TextStyle(fontSize: 18, color: Colors.black54),
550550
))),
551551
Center(
@@ -585,6 +585,6 @@ class _MyCallScreenWidget extends State<CallScreenWidget>
585585

586586
@override
587587
void onNewNotify(Notify ntf) {
588-
// TODO: implement onNewNotify
588+
// NO OP
589589
}
590590
}

example/lib/src/dialpad.dart

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
import 'dart:io';
2-
31
import 'package:flutter/foundation.dart';
42
import 'package:flutter/material.dart';
53
import 'package:flutter_webrtc/flutter_webrtc.dart';
64
import 'package:permission_handler/permission_handler.dart';
75
import 'package:shared_preferences/shared_preferences.dart';
86
import 'package:sip_ua/sip_ua.dart';
9-
import 'package:flutter/foundation.dart';
10-
117

128
import 'widgets/action_button.dart';
139

@@ -49,9 +45,10 @@ class _MyDialPadWidget extends State<DialPadWidget>
4945
}
5046

5147
Future<Widget?> _handleCall(BuildContext context,
52-
[bool voiceonly = false]) async {
48+
[bool voiceOnly = false]) async {
5349
var dest = _textController?.text;
54-
if(defaultTargetPlatform == TargetPlatform.android || defaultTargetPlatform == TargetPlatform.iOS) {
50+
if (defaultTargetPlatform == TargetPlatform.android ||
51+
defaultTargetPlatform == TargetPlatform.iOS) {
5552
await Permission.microphone.request();
5653
await Permission.camera.request();
5754
}
@@ -81,19 +78,19 @@ class _MyDialPadWidget extends State<DialPadWidget>
8178

8279
MediaStream mediaStream;
8380

84-
if (kIsWeb && !voiceonly) {
81+
if (kIsWeb && !voiceOnly) {
8582
mediaStream =
8683
await navigator.mediaDevices.getDisplayMedia(mediaConstraints);
8784
mediaConstraints['video'] = false;
8885
MediaStream userStream =
8986
await navigator.mediaDevices.getUserMedia(mediaConstraints);
9087
mediaStream.addTrack(userStream.getAudioTracks()[0], addToNative: true);
9188
} else {
92-
mediaConstraints['video'] = !voiceonly;
89+
mediaConstraints['video'] = !voiceOnly;
9390
mediaStream = await navigator.mediaDevices.getUserMedia(mediaConstraints);
9491
}
9592

96-
helper!.call(dest, voiceonly: voiceonly, mediaStream: mediaStream);
93+
helper!.call(dest, voiceonly: voiceOnly, mediaStream: mediaStream);
9794
_preferences.setString('dest', dest);
9895
return null;
9996
}
@@ -115,7 +112,7 @@ class _MyDialPadWidget extends State<DialPadWidget>
115112
}
116113

117114
List<Widget> _buildNumPad() {
118-
var lables = [
115+
var labels = [
119116
[
120117
{'1': ''},
121118
{'2': 'abc'},
@@ -138,7 +135,7 @@ class _MyDialPadWidget extends State<DialPadWidget>
138135
],
139136
];
140137

141-
return lables
138+
return labels
142139
.map((row) => Padding(
143140
padding: const EdgeInsets.all(12),
144141
child: Row(
@@ -322,6 +319,5 @@ class _MyDialPadWidget extends State<DialPadWidget>
322319
}
323320

324321
@override
325-
void onNewNotify(Notify ntf) {
326-
}
322+
void onNewNotify(Notify ntf) {}
327323
}

example/lib/src/register.dart

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@ class RegisterWidget extends StatefulWidget {
1111

1212
class _MyRegisterWidget extends State<RegisterWidget>
1313
implements SipUaHelperListener {
14-
TextEditingController _passwordController = TextEditingController();
15-
TextEditingController _wsUriController = TextEditingController();
16-
TextEditingController _sipUriController = TextEditingController();
17-
TextEditingController _displayNameController = TextEditingController();
18-
TextEditingController _authorizationUserController = TextEditingController();
19-
Map<String, String> _wsExtraHeaders = {
14+
final TextEditingController _passwordController = TextEditingController();
15+
final TextEditingController _wsUriController = TextEditingController();
16+
final TextEditingController _sipUriController = TextEditingController();
17+
final TextEditingController _displayNameController = TextEditingController();
18+
final TextEditingController _authorizationUserController =
19+
TextEditingController();
20+
final Map<String, String> _wsExtraHeaders = {
2021
// 'Origin': ' https://tryit.jssip.net',
2122
// 'Host': 'tryit.jssip.net:10443'
2223
};
@@ -42,7 +43,7 @@ class _MyRegisterWidget extends State<RegisterWidget>
4243

4344
void _loadSettings() async {
4445
_preferences = await SharedPreferences.getInstance();
45-
this.setState(() {
46+
setState(() {
4647
_wsUriController.text =
4748
_preferences.getString('ws_uri') ?? 'wss://tryit.jssip.net:10443';
4849
_sipUriController.text =
@@ -65,13 +66,13 @@ class _MyRegisterWidget extends State<RegisterWidget>
6566

6667
@override
6768
void registrationStateChanged(RegistrationState state) {
68-
this.setState(() {
69+
setState(() {
6970
_registerState = state;
7071
});
7172
}
7273

7374
void _alert(BuildContext context, String alertFieldName) {
74-
showDialog<Null>(
75+
showDialog<void>(
7576
context: context,
7677
barrierDismissible: false,
7778
builder: (BuildContext context) {
@@ -296,6 +297,6 @@ class _MyRegisterWidget extends State<RegisterWidget>
296297

297298
@override
298299
void onNewNotify(Notify ntf) {
299-
// TODO: implement onNewNotify
300+
// NO OP
300301
}
301302
}

0 commit comments

Comments
 (0)