1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 00:05:16 +00:00

Handles new comments events

This commit is contained in:
2020-04-18 16:35:53 +02:00
parent 02034acbbe
commit a60c1ed68c
4 changed files with 44 additions and 22 deletions

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:comunic/models/comment.dart';
import 'package:event_bus/event_bus.dart';
/// Events helper
@ -23,6 +24,13 @@ class NewNumberUnreadConversations {
NewNumberUnreadConversations(this.newNum);
}
/// New comment
class NewCommentEvent {
final Comment comment;
NewCommentEvent(this.comment);
}
class EventsHelper {
static EventBus _mgr = EventBus();

View File

@ -1,6 +1,7 @@
import 'dart:async';
import 'dart:convert';
import 'package:comunic/helpers/comments_helper.dart';
import 'package:comunic/helpers/events_helper.dart';
import 'package:comunic/models/api_request.dart';
import 'package:comunic/models/config.dart';
@ -39,8 +40,7 @@ class WebSocketHelper {
// Determine WebSocket URI
final wsURL =
"${(config().apiServerSecure ? "wss" : "ws")}://${config()
.apiServerName}${config().apiServerUri}ws?token=$token";
"${(config().apiServerSecure ? "wss" : "ws")}://${config().apiServerName}${config().apiServerUri}ws?token=$token";
final wsURI = Uri.parse(wsURL);
// Connect
@ -48,7 +48,7 @@ class WebSocketHelper {
_ws.stream.listen(
// When we got data
(data) {
(data) {
print("WS New data: $data");
_processMessage(data.toString());
},
@ -110,16 +110,22 @@ class WebSocketHelper {
/// Process an unattended message
static _processUnattendedMessage(WsMessage msg) {
switch (msg.title) {
// New number of notifications
// New number of notifications
case "number_notifs":
EventsHelper.emit(NewNumberNotifsEvent(msg.data));
break;
// New number of unread conversations
// New number of unread conversations
case "number_unread_conversations":
EventsHelper.emit(NewNumberUnreadConversations(msg.data));
break;
// New comment
case "new_comment":
EventsHelper.emit(
NewCommentEvent(CommentsHelper.apiToComment(msg.data)));
break;
default:
throw Exception("Unknown message type: ${msg.title}");
}