chore: Display error message on file

send failed
This commit is contained in:
Christian Pauly 2022-04-01 11:39:28 +02:00
parent 6a39defbfe
commit bd95c805eb
2 changed files with 18 additions and 17 deletions

View File

@ -290,8 +290,6 @@ class Message extends StatelessWidget {
)),
),
row,
if (event.fileSendingStatus != null)
Text(event.fileSendingStatus!.name),
if (event.hasAggregatedEvents(timeline, RelationshipTypes.reaction))
Padding(
padding: EdgeInsets.only(

View File

@ -23,7 +23,6 @@ class SendFileDialog extends StatefulWidget {
class _SendFileDialogState extends State<SendFileDialog> {
bool origImage = false;
bool _isSending = false;
/// Images smaller than 20kb don't need compression.
static const int minSizeToCompress = 20 * 1024;
@ -32,14 +31,27 @@ class _SendFileDialogState extends State<SendFileDialog> {
var file = widget.file;
MatrixImageFile? thumbnail;
if (file is MatrixVideoFile && file.bytes.length > minSizeToCompress) {
await showFutureLoadingDialog(
context: context,
future: () async {
file = await file.resizeVideo();
thumbnail = await file.getVideoThumbnail();
});
}
widget.room.sendFileEvent(
final scaffoldMessenger = ScaffoldMessenger.of(context);
widget.room
.sendFileEvent(
file,
thumbnail: thumbnail,
shrinkImageMaxDimension: origImage ? null : 1600,
)
.catchError((e) {
scaffoldMessenger.showSnackBar(
SnackBar(content: Text(e.toLocalizedString())),
);
});
Navigator.of(context, rootNavigator: false).pop();
return;
}
@ -91,16 +103,7 @@ class _SendFileDialogState extends State<SendFileDialog> {
child: Text(L10n.of(context)!.cancel),
),
TextButton(
onPressed: _isSending
? null
: () async {
setState(() {
_isSending = true;
});
await showFutureLoadingDialog(
context: context, future: () => _send());
Navigator.of(context, rootNavigator: false).pop();
},
onPressed: _send,
child: Text(L10n.of(context)!.send),
),
],