create downloadInBackground function, add some checks
This commit is contained in:
parent
b2c71b1403
commit
ae8fb70a4a
|
|
@ -69,4 +69,9 @@ class DownloadManagerController extends State<DownloadManager>
|
|||
Widget build(BuildContext context) => DownloadManagerView(this);
|
||||
|
||||
final List<Download> downloads = [];
|
||||
void download(BuildContext context, String name, String url) async {
|
||||
final dl = Download(context, url, name);
|
||||
downloads.add(dl);
|
||||
dl.start();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'dart:developer';
|
||||
|
||||
import 'package:extera_next/pages/download_manager/download_manager.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
|
|
@ -8,6 +9,8 @@ import 'package:matrix/matrix.dart';
|
|||
|
||||
import 'package:extera_next/utils/size_string.dart';
|
||||
import 'package:extera_next/widgets/future_loading_dialog.dart';
|
||||
import 'package:mime/mime.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'matrix_file_extension.dart';
|
||||
|
||||
extension LocalizedBody on Event {
|
||||
|
|
@ -19,10 +22,18 @@ extension LocalizedBody on Event {
|
|||
|
||||
void saveFile(BuildContext context) async {
|
||||
final matrixFile = await _getFile(context);
|
||||
|
||||
|
||||
matrixFile.result?.save(context);
|
||||
}
|
||||
|
||||
void downloadInBackground(BuildContext context) async {
|
||||
if (this.hasAttachment && this.status.isSent && !room.encrypted) {
|
||||
final dmc = Provider.of<DownloadManagerController>(context);
|
||||
final filename = content.tryGet<String>('filename') ?? body;
|
||||
dmc.download(context, "$filename.${roomId!.substring(0, 4)}.${eventId.substring(0, 4)}.${extensionFromMime(attachmentMimetype)}", attachmentMxcUrl.toString());
|
||||
}
|
||||
}
|
||||
|
||||
void shareFile(BuildContext context) async {
|
||||
final matrixFile = await _getFile(context);
|
||||
inspect(matrixFile);
|
||||
|
|
|
|||
Loading…
Reference in New Issue