add multiplr_conversation example
This commit is contained in:
Generated
+76
-76
@@ -2,17 +2,13 @@
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="8a42da92-86e3-4aa3-b70d-cc6a9fefa34f" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/.idea/dictionaries/salvatoregiordano.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/example/lib/multiple_conversation.dart" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/lib/src/channel_image.dart" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/lib/src/channel_list_view.dart" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/lib/src/channel_name_text.dart" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/lib/src/channel_preview.dart" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/example/lib/multiple_conversation.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/multiple_conversation.dart" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/example/lib/single_conversation.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/single_conversation.dart" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/example/test/widget_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/test/widget_test.dart" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/example/test/widget_test.dart" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/src/channel_list_view.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/channel_list_view.dart" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/src/channel_preview.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/channel_preview.dart" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/src/stream_channel.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/stream_channel.dart" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/stream_chat_flutter.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/stream_chat_flutter.dart" afterDir="false" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
@@ -25,15 +21,6 @@
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/analysis_options.yaml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="799">
|
||||
<caret line="47" column="28" selection-start-line="47" selection-start-column="28" selection-end-line="47" selection-end-column="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/../stream_chat_dart/lib/src/client.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -43,11 +30,11 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_list_view.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="890">
|
||||
<caret line="133" column="14" selection-start-line="133" selection-start-column="14" selection-end-line="133" selection-end-column="14" />
|
||||
<state relative-caret-position="136">
|
||||
<caret line="8" column="26" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="e#0#39#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -58,8 +45,8 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="884">
|
||||
<caret line="52" column="40" selection-start-line="52" selection-start-column="40" selection-end-line="52" selection-end-column="40" />
|
||||
<state relative-caret-position="782">
|
||||
<caret line="46" column="31" selection-start-line="46" selection-start-column="31" selection-end-line="46" selection-end-column="31" />
|
||||
<folding>
|
||||
<element signature="e#0#46#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -70,8 +57,8 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_chat.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="238">
|
||||
<caret line="14" column="25" selection-start-line="14" selection-start-column="25" selection-end-line="14" selection-end-column="25" />
|
||||
<state relative-caret-position="1309">
|
||||
<caret line="77" column="28" selection-start-line="77" selection-start-column="28" selection-end-line="77" selection-end-column="28" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -80,10 +67,22 @@
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/message_widget.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="875">
|
||||
<caret line="79" column="26" selection-start-line="79" selection-start-column="26" selection-end-line="79" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="e#0#64#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_channel.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1213">
|
||||
<caret line="102" selection-start-line="102" selection-end-line="102" />
|
||||
<state relative-caret-position="170">
|
||||
<caret line="10" column="9" selection-start-line="10" selection-start-column="9" selection-end-line="10" selection-end-column="9" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -103,8 +102,8 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/message_list_view.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="874">
|
||||
<caret line="207" column="30" selection-start-line="207" selection-start-column="30" selection-end-line="207" selection-end-column="30" />
|
||||
<state relative-caret-position="1230">
|
||||
<caret line="258" column="53" selection-start-line="258" selection-start-column="53" selection-end-line="258" selection-end-column="53" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -147,6 +146,7 @@
|
||||
<find>dispose</find>
|
||||
<find>CHANNEL-</find>
|
||||
<find>_userController</find>
|
||||
<find>onTap</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
@@ -163,16 +163,16 @@
|
||||
<option value="$PROJECT_DIR$/lib/src/user_avatar.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/message_widget.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/message_input.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/message_list_view.dart" />
|
||||
<option value="$PROJECT_DIR$/example/lib/main.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/channel_image.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/channel_preview.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/stream_chat_flutter.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/stream_channel.dart" />
|
||||
<option value="$PROJECT_DIR$/example/lib/multiple_conversation.dart" />
|
||||
<option value="$PROJECT_DIR$/example/lib/single_conversation.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/stream_chat.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/message_list_view.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/channel_preview.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/channel_list_view.dart" />
|
||||
<option value="$PROJECT_DIR$/example/lib/multiple_conversation.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/stream_channel.dart" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -383,16 +383,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/message_widget.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="875">
|
||||
<caret line="79" column="26" selection-start-line="79" selection-start-column="26" selection-end-line="79" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="e#0#64#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/message_input.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="119">
|
||||
@@ -448,26 +438,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/message_list_view.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="874">
|
||||
<caret line="207" column="30" selection-start-line="207" selection-start-column="30" selection-end-line="207" selection-end-column="30" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="884">
|
||||
<caret line="52" column="40" selection-start-line="52" selection-start-column="40" selection-end-line="52" selection-end-column="40" />
|
||||
<folding>
|
||||
<element signature="e#0#46#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/../flutter/packages/flutter/lib/src/widgets/async.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="580">
|
||||
@@ -475,16 +445,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_channel.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1213">
|
||||
<caret line="102" selection-start-line="102" selection-end-line="102" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/../stream_chat_dart/lib/src/client.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="485">
|
||||
@@ -494,8 +454,28 @@
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_chat.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="238">
|
||||
<caret line="14" column="25" selection-start-line="14" selection-start-column="25" selection-end-line="14" selection-end-column="25" />
|
||||
<state relative-caret-position="1309">
|
||||
<caret line="77" column="28" selection-start-line="77" selection-start-column="28" selection-end-line="77" selection-end-column="28" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/message_widget.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="875">
|
||||
<caret line="79" column="26" selection-start-line="79" selection-start-column="26" selection-end-line="79" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="e#0#64#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/message_list_view.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1230">
|
||||
<caret line="258" column="53" selection-start-line="258" selection-start-column="53" selection-end-line="258" selection-end-column="53" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -504,13 +484,33 @@
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_list_view.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="890">
|
||||
<caret line="133" column="14" selection-start-line="133" selection-start-column="14" selection-end-line="133" selection-end-column="14" />
|
||||
<state relative-caret-position="136">
|
||||
<caret line="8" column="26" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="e#0#39#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="782">
|
||||
<caret line="46" column="31" selection-start-line="46" selection-start-column="31" selection-end-line="46" selection-end-column="31" />
|
||||
<folding>
|
||||
<element signature="e#0#46#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_channel.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="10" column="9" selection-start-line="10" selection-start-column="9" selection-end-line="10" selection-end-column="9" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
@@ -9,27 +9,21 @@ void main() async {
|
||||
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoid2lsZC1icmVlemUtNyJ9.VM2EX1EXOfgqa-bTH_3JzeY0T99ngWzWahSauP3dBMo',
|
||||
);
|
||||
|
||||
runApp(StreamChat(
|
||||
client: client,
|
||||
child: MyApp(),
|
||||
));
|
||||
}
|
||||
final channelClient = client.channel('messaging', id: 'godevs');
|
||||
|
||||
class MyApp extends StatefulWidget {
|
||||
@override
|
||||
_MyAppState createState() => _MyAppState();
|
||||
}
|
||||
channelClient.watch();
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
theme: ThemeData(
|
||||
primarySwatch: Colors.blue,
|
||||
runApp(
|
||||
StreamChat(
|
||||
client: client,
|
||||
child: MaterialApp(
|
||||
home: StreamChat(
|
||||
client: client,
|
||||
child: ChannelListPage(),
|
||||
),
|
||||
),
|
||||
home: ChannelListPage(),
|
||||
);
|
||||
}
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
class ChannelListPage extends StatelessWidget {
|
||||
@@ -48,7 +42,10 @@ class ChannelListPage extends StatelessWidget {
|
||||
),
|
||||
onChannelTap: (channelClient) {
|
||||
Navigator.push(context, MaterialPageRoute(builder: (context) {
|
||||
return ChannelPage(channelClient);
|
||||
return StreamChannel(
|
||||
child: ChannelPage(),
|
||||
channelClient: channelClient,
|
||||
);
|
||||
}));
|
||||
},
|
||||
),
|
||||
@@ -57,21 +54,20 @@ class ChannelListPage extends StatelessWidget {
|
||||
}
|
||||
|
||||
class ChannelPage extends StatelessWidget {
|
||||
ChannelPage(this.channelClient);
|
||||
|
||||
final ChannelClient channelClient;
|
||||
const ChannelPage({
|
||||
Key key,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return StreamChannel(
|
||||
channelClient: channelClient,
|
||||
child: Scaffold(
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Expanded(child: MessageListView()),
|
||||
MessageInput(),
|
||||
],
|
||||
),
|
||||
return Scaffold(
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: MessageListView(),
|
||||
),
|
||||
MessageInput(),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -19,18 +19,29 @@ void main() async {
|
||||
client: client,
|
||||
child: StreamChannel(
|
||||
channelClient: channelClient,
|
||||
child: Scaffold(
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: MessageListView(),
|
||||
),
|
||||
MessageInput(),
|
||||
],
|
||||
),
|
||||
),
|
||||
child: ChannelPage(),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
class ChannelPage extends StatelessWidget {
|
||||
const ChannelPage({
|
||||
Key key,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: MessageListView(),
|
||||
),
|
||||
MessageInput(),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
// This is a basic Flutter widget test.
|
||||
//
|
||||
// To perform an interaction with a widget in your test, use the WidgetTester
|
||||
// utility that Flutter provides. For example, you can send tap and scroll
|
||||
// gestures. You can also use WidgetTester to find child widgets in the widget
|
||||
// tree, read text, and verify that the values of widget properties are correct.
|
||||
|
||||
import 'package:example/single_conversation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
|
||||
// Build our app and trigger a frame.
|
||||
await tester.pumpWidget(MyApp());
|
||||
|
||||
// Verify that our counter starts at 0.
|
||||
expect(find.text('0'), findsOneWidget);
|
||||
expect(find.text('1'), findsNothing);
|
||||
|
||||
// Tap the '+' icon and trigger a frame.
|
||||
await tester.tap(find.byIcon(Icons.add));
|
||||
await tester.pump();
|
||||
|
||||
// Verify that our counter has incremented.
|
||||
expect(find.text('0'), findsNothing);
|
||||
expect(find.text('1'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
@@ -100,14 +100,15 @@ class _ChannelListViewState extends State<ChannelListView> {
|
||||
|
||||
Widget child;
|
||||
if (widget._channelPreviewBuilder != null) {
|
||||
child = widget._channelPreviewBuilder(context, channelState);
|
||||
child = GestureDetector(
|
||||
onTap: () {
|
||||
widget.onChannelTap(channelClient);
|
||||
},
|
||||
child: widget._channelPreviewBuilder(context, channelState),
|
||||
);
|
||||
} else {
|
||||
child = ChannelPreview(
|
||||
onTap: widget?.onChannelTap != null
|
||||
? () {
|
||||
widget?.onChannelTap(channelClient);
|
||||
}
|
||||
: null,
|
||||
onTap: widget.onChannelTap,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,12 +4,13 @@ import 'package:flutter/widgets.dart';
|
||||
import 'package:stream_chat/stream_chat.dart';
|
||||
|
||||
import 'channel_image.dart';
|
||||
import 'channel_list_view.dart';
|
||||
import 'channel_name_text.dart';
|
||||
import 'stream_channel.dart';
|
||||
import 'stream_chat.dart';
|
||||
|
||||
class ChannelPreview extends StatelessWidget {
|
||||
final VoidCallback onTap;
|
||||
final ChannelTapCallback onTap;
|
||||
|
||||
const ChannelPreview({
|
||||
Key key,
|
||||
@@ -37,14 +38,13 @@ class ChannelPreview extends StatelessWidget {
|
||||
ChannelState channelState,
|
||||
StreamChannelState streamChannel,
|
||||
) {
|
||||
final channelClient =
|
||||
StreamChat.of(context).client.channelClients[channelState.channel.id];
|
||||
return StreamChannel(
|
||||
channelClient:
|
||||
StreamChat.of(context).client.channelClients[channelState.channel.id],
|
||||
channelClient: channelClient,
|
||||
child: ListTile(
|
||||
onTap: () {
|
||||
if (onTap != null) {
|
||||
onTap();
|
||||
}
|
||||
onTap(channelClient);
|
||||
},
|
||||
leading: ChannelImage(
|
||||
channel: channelState.channel,
|
||||
|
||||
@@ -8,7 +8,7 @@ class StreamChannel extends StatefulWidget {
|
||||
StreamChannel({
|
||||
Key key,
|
||||
@required this.child,
|
||||
this.channelClient,
|
||||
@required this.channelClient,
|
||||
}) : super(
|
||||
key: key,
|
||||
);
|
||||
@@ -95,8 +95,6 @@ class StreamChannelState extends State<StreamChannel> {
|
||||
@override
|
||||
void dispose() {
|
||||
_queryMessageController.close();
|
||||
widget.channelClient.dispose();
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -109,6 +107,7 @@ class StreamChannelState extends State<StreamChannel> {
|
||||
}
|
||||
return FutureBuilder<bool>(
|
||||
future: widget.channelClient.initialized,
|
||||
initialData: widget.channelClient.state != null,
|
||||
builder: (context, snapshot) {
|
||||
if (!snapshot.hasData) {
|
||||
return Scaffold(
|
||||
|
||||
Reference in New Issue
Block a user