From 8fc3eada958309ae7618daff610f56a3dedefb15 Mon Sep 17 00:00:00 2001 From: hetao Date: Mon, 15 Jan 2024 22:07:18 +0800 Subject: [PATCH] fix #83, and change events like https://github.dev/centrifugal/centrifuge-java --- example/chat_app/lib/connect.dart | 4 +- example/flutter_app/lib/main.dart | 8 ++-- example/flutter_app/test/widget_test.dart | 3 +- lib/src/events.dart | 52 ++++++++++------------- 4 files changed, 29 insertions(+), 38 deletions(-) diff --git a/example/chat_app/lib/connect.dart b/example/chat_app/lib/connect.dart index fda8018..73c4958 100644 --- a/example/chat_app/lib/connect.dart +++ b/example/chat_app/lib/connect.dart @@ -33,10 +33,10 @@ class _ConnectToServerState extends State { body: SizedBox( width: MediaQuery.of(context).size.width, height: MediaQuery.of(context).size.height, - child: Column( + child: const Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.max, - children: const [ + children: [ CircularProgressIndicator(), SizedBox(height: 15.0), Text("Connecting to server ...") diff --git a/example/flutter_app/lib/main.dart b/example/flutter_app/lib/main.dart index 1430cbf..6fd75e8 100644 --- a/example/flutter_app/lib/main.dart +++ b/example/flutter_app/lib/main.dart @@ -109,16 +109,16 @@ class _MyHomePageState extends State { }; _subscription.join.listen((event) { - final user = event.user; - final client = event.client; + final user = event.info.user; + final client = event.info.client; final item = _ChatItem(title: 'User $user joined channel $channel', subtitle: '(client ID $client)'); onNewItem(item); }); _subscription.leave.listen((event) { - final user = event.user; - final client = event.client; + final user = event.info.user; + final client = event.info.client; final item = _ChatItem(title: 'User $user left channel $channel', subtitle: '(client ID $client)'); onNewItem(item); }); diff --git a/example/flutter_app/test/widget_test.dart b/example/flutter_app/test/widget_test.dart index 5b1a6b6..b9174e9 100644 --- a/example/flutter_app/test/widget_test.dart +++ b/example/flutter_app/test/widget_test.dart @@ -4,11 +4,10 @@ // find child widgets in the widget tree, read text, and verify that the values of widget properties // are correct. +import 'package:centrifuge_app/main.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:centrifuge_app/main.dart'; - void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { // Build our app and trigger a frame. diff --git a/lib/src/events.dart b/lib/src/events.dart index 1ea2391..ca599a1 100644 --- a/lib/src/events.dart +++ b/lib/src/events.dart @@ -53,8 +53,7 @@ class ConnectedEvent { final String version; final List data; - static ConnectedEvent from(proto.ConnectResult result) => - ConnectedEvent(result.client, result.version, result.data); + static ConnectedEvent from(proto.ConnectResult result) => ConnectedEvent(result.client, result.version, result.data); @override String toString() { @@ -111,8 +110,8 @@ class ServerPublicationEvent { final ClientInfo? info; final Map tags; - static ServerPublicationEvent from(String channel, proto.Publication pub) => ServerPublicationEvent( - channel, pub.data, pub.offset, pub.hasInfo() ? ClientInfo.from(pub.info) : null, pub.tags); + static ServerPublicationEvent from(String channel, proto.Publication pub) => + ServerPublicationEvent(channel, pub.data, pub.offset, pub.hasInfo() ? ClientInfo.from(pub.info) : null, pub.tags); @override String toString() { @@ -123,8 +122,7 @@ class ServerPublicationEvent { class ClientInfo { ClientInfo(this.client, this.user, this.connInfo, this.chanInfo); - static ClientInfo from(proto.ClientInfo info) => - ClientInfo(info.client, info.user, info.connInfo, info.chanInfo); + static ClientInfo from(proto.ClientInfo info) => ClientInfo(info.client, info.user, info.connInfo, info.chanInfo); final String client; final String user; @@ -207,62 +205,56 @@ class PresenceStatsResult { } class JoinEvent { - JoinEvent(this.user, this.client); + JoinEvent(this.info); - final String user; - final String client; + final proto.ClientInfo info; - static JoinEvent from(proto.ClientInfo clientInfo) => JoinEvent(clientInfo.user, clientInfo.client); + static JoinEvent from(proto.ClientInfo info) => JoinEvent(info); @override String toString() { - return 'JoinEvent{user: $user, client: $client}'; + return 'JoinEvent{clientInfo:$info, user: $info.user, client: $info.client}'; } } class ServerJoinEvent { - ServerJoinEvent(this.channel, this.user, this.client); + ServerJoinEvent(this.channel, this.info); final String channel; - final String user; - final String client; + final proto.ClientInfo info; - static ServerJoinEvent from(String channel, proto.ClientInfo clientInfo) => - ServerJoinEvent(channel, clientInfo.user, clientInfo.client); + static ServerJoinEvent from(String channel, proto.ClientInfo info) => ServerJoinEvent(channel, info); @override String toString() { - return 'ServerJoinEvent{channel: $channel, user: $user, client: $client}'; + return 'ServerJoinEvent{clientInfo:$info, user: $info.user, client: $info.client,channel: $channel}'; } } class LeaveEvent { - LeaveEvent(this.user, this.client); + LeaveEvent(this.info); - final String user; - final String client; + final proto.ClientInfo info; - static LeaveEvent from(proto.ClientInfo clientInfo) => LeaveEvent(clientInfo.user, clientInfo.client); + static LeaveEvent from(proto.ClientInfo info) => LeaveEvent(info); @override String toString() { - return 'LeaveEvent{user: $user, client: $client}'; + return 'LeaveEvent{clientInfo:$info, user: $info.user, client: $info.client}'; } } class ServerLeaveEvent { - ServerLeaveEvent(this.channel, this.user, this.client); + ServerLeaveEvent(this.channel, this.info); final String channel; - final String user; - final String client; + final proto.ClientInfo info; - static ServerLeaveEvent from(String channel, proto.ClientInfo clientInfo) => - ServerLeaveEvent(channel, clientInfo.user, clientInfo.client); + static ServerLeaveEvent from(String channel, proto.ClientInfo info) => ServerLeaveEvent(channel, info); @override String toString() { - return 'ServerLeaveEvent{channel: $channel, user: $user, client: $client}'; + return 'ServerLeaveEvent{clientInfo:$info, user: $info.user, client: $info.client,channel: $channel}'; } } @@ -282,8 +274,8 @@ class SubscribedEvent { if (result.positioned || result.recoverable) { streamPosition = StreamPosition(result.offset, result.epoch); } - return SubscribedEvent(result.wasRecovering, result.recovered, result.data, streamPosition, - result.positioned, result.recoverable); + return SubscribedEvent( + result.wasRecovering, result.recovered, result.data, streamPosition, result.positioned, result.recoverable); } @override