|
|
@@ -1,3 +1,4 @@ |
|
|
|
import 'package:chat/data/chat_data_mgr.dart';
|
|
|
|
import 'package:chat/data/constants.dart';
|
|
|
|
import 'package:chat/models/ChatMsg.dart';
|
|
|
|
import 'package:chat/utils/msgHandler.dart';
|
|
|
@@ -6,7 +7,8 @@ import 'package:flutter/material.dart'; |
|
|
|
class SendMsgState extends StatefulWidget {
|
|
|
|
final int sessionId;
|
|
|
|
final int time;
|
|
|
|
SendMsgState({this.sessionId,this.time});
|
|
|
|
final bool isGroup;
|
|
|
|
SendMsgState({this.sessionId, this.time, this.isGroup});
|
|
|
|
@override
|
|
|
|
_SendMsgStateState createState() => _SendMsgStateState();
|
|
|
|
}
|
|
|
@@ -14,27 +16,21 @@ class SendMsgState extends StatefulWidget { |
|
|
|
class _SendMsgStateState extends State<SendMsgState> {
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
var sendCache = MsgHandler.sendCache;
|
|
|
|
for (var msg in sendCache) {
|
|
|
|
if (msg.sessionId == widget.sessionId &&
|
|
|
|
msg.time == widget.time) {
|
|
|
|
|
|
|
|
if (msg.state == MsgState.SendingFailed) {
|
|
|
|
return Padding(
|
|
|
|
padding: EdgeInsets.only(right: 5),
|
|
|
|
child: Icon(Icons.error_outline,
|
|
|
|
size: 12, color: Colors.red));
|
|
|
|
} else if (msg.state <= MsgState.Sending) {
|
|
|
|
return Padding(
|
|
|
|
padding: EdgeInsets.only(right: 5),
|
|
|
|
child: Icon(
|
|
|
|
IconData(0xe657, fontFamily: Constants.IconFontFamily),
|
|
|
|
size: 12,
|
|
|
|
color: Color(0xFFc0c0c0)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var msg =
|
|
|
|
ChatDataMgr().getMsgBy(widget.sessionId, widget.time, widget.isGroup);
|
|
|
|
|
|
|
|
if (msg.state == MsgState.SendingFailed ||
|
|
|
|
msg.state == MsgState.UploadFailed) {
|
|
|
|
return Padding(
|
|
|
|
padding: EdgeInsets.only(right: 5),
|
|
|
|
child: Icon(Icons.error_outline, size: 12, color: Colors.red));
|
|
|
|
} else if (msg.state <= MsgState.Sending) {
|
|
|
|
return Padding(
|
|
|
|
padding: EdgeInsets.only(right: 5),
|
|
|
|
child: Icon(IconData(0xe657, fontFamily: Constants.IconFontFamily),
|
|
|
|
size: 12, color: Color(0xFFc0c0c0)));
|
|
|
|
}
|
|
|
|
|
|
|
|
return SizedBox(width: 0);
|
|
|
|
}
|
|
|
|
} |
|
|
|
}
|