refactor: add and use constructor with named parameters
This commit is contained in:
parent
66f29c7685
commit
b516bd1005
|
|
@ -4,21 +4,20 @@ class CallReplacesTarget {
|
|||
String display_name;
|
||||
String avatar_url;
|
||||
|
||||
CallReplacesTarget();
|
||||
factory CallReplacesTarget.fromJson(Map<String, dynamic> json) {
|
||||
return CallReplacesTarget()
|
||||
..id = json['id'].toString()
|
||||
..display_name = json['display_name'].toString()
|
||||
..avatar_url = json['avatar_url'].toString();
|
||||
}
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
CallReplacesTarget({this.id, this.display_name, this.avatar_url});
|
||||
factory CallReplacesTarget.fromJson(Map<String, dynamic> json) =>
|
||||
CallReplacesTarget(
|
||||
id: json['id'].toString(),
|
||||
display_name: json['display_name'].toString(),
|
||||
avatar_url: json['avatar_url'].toString(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
if (id != null) 'id': id,
|
||||
if (display_name != null) 'display_name': display_name,
|
||||
if (avatar_url != null) 'avatar_url': avatar_url,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// MSC2747: VoIP call transfers
|
||||
/// https://github.com/matrix-org/matrix-doc/pull/2747
|
||||
|
|
@ -29,18 +28,22 @@ class CallReplaces {
|
|||
String await_call;
|
||||
String target_room;
|
||||
|
||||
CallReplaces();
|
||||
factory CallReplaces.fromJson(Map<String, dynamic> json) {
|
||||
return CallReplaces()
|
||||
..replacement_id = json['replacement_id'].toString()
|
||||
..create_call = json['create_call'].toString()
|
||||
..await_call = json['await_call'].toString()
|
||||
..target_room = json['target_room'].toString()
|
||||
..target_user = CallReplacesTarget.fromJson(json['target_user']);
|
||||
}
|
||||
CallReplaces({
|
||||
this.replacement_id,
|
||||
this.target_user,
|
||||
this.create_call,
|
||||
this.await_call,
|
||||
this.target_room,
|
||||
});
|
||||
factory CallReplaces.fromJson(Map<String, dynamic> json) => CallReplaces(
|
||||
replacement_id: json['replacement_id'].toString(),
|
||||
create_call: json['create_call'].toString(),
|
||||
await_call: json['await_call'].toString(),
|
||||
target_room: json['target_room'].toString(),
|
||||
target_user: CallReplacesTarget.fromJson(json['target_user']),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
Map<String, dynamic> toJson() => {
|
||||
if (replacement_id != null) 'replacement_id': replacement_id,
|
||||
if (target_user != null) 'target_user': target_user.toJson(),
|
||||
if (create_call != null) 'create_call': create_call,
|
||||
|
|
@ -48,7 +51,6 @@ class CallReplaces {
|
|||
if (target_room != null) 'target_room': target_room,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Change to "sdp_stream_metadata" when MSC3077 is merged
|
||||
const String sdpStreamMetadataKey = 'org.matrix.msc3077.sdp_stream_metadata';
|
||||
|
|
@ -58,19 +60,17 @@ const String sdpStreamMetadataKey = 'org.matrix.msc3077.sdp_stream_metadata';
|
|||
class CallCapabilities {
|
||||
bool transferee;
|
||||
bool dtmf;
|
||||
CallCapabilities();
|
||||
factory CallCapabilities.fromJson(Map<String, dynamic> json) {
|
||||
return CallCapabilities()
|
||||
..dtmf = json['m.call.dtmf'] as bool ?? false
|
||||
..transferee = json['m.call.transferee'] as bool ?? false;
|
||||
}
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
CallCapabilities({this.transferee, this.dtmf});
|
||||
factory CallCapabilities.fromJson(Map<String, dynamic> json) =>
|
||||
CallCapabilities(
|
||||
dtmf: json['m.call.dtmf'] as bool ?? false,
|
||||
transferee: json['m.call.transferee'] as bool ?? false,
|
||||
);
|
||||
Map<String, dynamic> toJson() => {
|
||||
if (transferee != null) 'm.call.transferee': transferee,
|
||||
if (dtmf != null) 'm.call.dtmf': dtmf,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// MSC3077: Support for multi-stream VoIP
|
||||
/// https://github.com/matrix-org/matrix-doc/pull/3077
|
||||
|
|
@ -88,22 +88,20 @@ class SDPStreamPurpose {
|
|||
bool audio_muted;
|
||||
bool video_muted;
|
||||
|
||||
SDPStreamPurpose();
|
||||
factory SDPStreamPurpose.fromJson(Map<String, dynamic> json) {
|
||||
return SDPStreamPurpose()
|
||||
..audio_muted = json['audio_muted'] as bool ?? false
|
||||
..video_muted = json['video_muted'] as bool ?? false
|
||||
..purpose = json['purpose'] as String;
|
||||
}
|
||||
SDPStreamPurpose({this.purpose, this.audio_muted, this.video_muted});
|
||||
factory SDPStreamPurpose.fromJson(Map<String, dynamic> json) =>
|
||||
SDPStreamPurpose(
|
||||
audio_muted: json['audio_muted'] as bool ?? false,
|
||||
video_muted: json['video_muted'] as bool ?? false,
|
||||
purpose: json['purpose'] as String,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
Map<String, dynamic> toJson() => {
|
||||
'purpose': purpose,
|
||||
if (audio_muted != null) 'audio_muted': audio_muted,
|
||||
if (video_muted != null) 'video_muted': video_muted,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
class SDPStreamMetadataPurpose {
|
||||
static String Usermedia = 'm.usermedia';
|
||||
|
|
@ -114,14 +112,11 @@ class SDPStreamMetadata {
|
|||
Map<String, SDPStreamPurpose> sdpStreamMetadatas;
|
||||
SDPStreamMetadata(this.sdpStreamMetadatas);
|
||||
|
||||
factory SDPStreamMetadata.fromJson(Map<String, dynamic> json) {
|
||||
return SDPStreamMetadata(json
|
||||
.map((key, value) => MapEntry(key, SDPStreamPurpose.fromJson(value))));
|
||||
}
|
||||
Map<String, dynamic> toJson() {
|
||||
return sdpStreamMetadatas
|
||||
.map((key, value) => MapEntry(key, value.toJson()));
|
||||
}
|
||||
factory SDPStreamMetadata.fromJson(Map<String, dynamic> json) =>
|
||||
SDPStreamMetadata(json.map(
|
||||
(key, value) => MapEntry(key, SDPStreamPurpose.fromJson(value))));
|
||||
Map<String, dynamic> toJson() =>
|
||||
sdpStreamMetadatas.map((key, value) => MapEntry(key, value.toJson()));
|
||||
}
|
||||
|
||||
/// MSC3086: Asserted identity on VoIP calls
|
||||
|
|
@ -130,19 +125,16 @@ class AssertedIdentity {
|
|||
String id;
|
||||
String displayName;
|
||||
String avatarUrl;
|
||||
AssertedIdentity();
|
||||
factory AssertedIdentity.fromJson(Map<String, dynamic> json) {
|
||||
return AssertedIdentity()
|
||||
..displayName = json['display_name'] as String
|
||||
..id = json['id'] as String
|
||||
..avatarUrl = json['avatar_url'] as String;
|
||||
}
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
AssertedIdentity({this.id, this.displayName, this.avatarUrl});
|
||||
factory AssertedIdentity.fromJson(Map<String, dynamic> json) =>
|
||||
AssertedIdentity(
|
||||
displayName: json['display_name'] as String,
|
||||
id: json['id'] as String,
|
||||
avatarUrl: json['avatar_url'] as String,
|
||||
);
|
||||
Map<String, dynamic> toJson() => {
|
||||
if (displayName != null) 'display_name': displayName,
|
||||
if (id != null) 'id': id,
|
||||
if (avatarUrl != null) 'avatar_url': avatarUrl,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue