homework attachments
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
|
import 'package:filcnaplo/api/providers/user_provider.dart';
|
||||||
import 'package:filcnaplo/helpers/storage_helper.dart';
|
import 'package:filcnaplo/helpers/storage_helper.dart';
|
||||||
import 'package:filcnaplo_kreta_api/client/client.dart';
|
import 'package:filcnaplo_kreta_api/client/client.dart';
|
||||||
import 'package:filcnaplo_kreta_api/models/attachment.dart';
|
import 'package:filcnaplo_kreta_api/models/attachment.dart';
|
||||||
|
import 'package:filcnaplo_kreta_api/models/homework.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:open_file/open_file.dart';
|
import 'package:open_file/open_file.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -22,7 +24,29 @@ extension AttachmentHelper on Attachment {
|
|||||||
|
|
||||||
Future<bool> open(BuildContext context) async {
|
Future<bool> open(BuildContext context) async {
|
||||||
String downloads = await StorageHelper.downloadsPath();
|
String downloads = await StorageHelper.downloadsPath();
|
||||||
|
|
||||||
|
if (!await File("$downloads/$name").exists()) await download(context);
|
||||||
|
var result = await OpenFile.open("$downloads/$name");
|
||||||
|
return result.type == ResultType.done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension HomeworkAttachmentHelper on HomeworkAttachment {
|
||||||
|
Future<String> download(BuildContext context, {bool overwrite = false}) async {
|
||||||
|
String downloads = await StorageHelper.downloadsPath();
|
||||||
|
|
||||||
|
if (!overwrite && await File("$downloads/$name").exists()) return "$downloads/$name";
|
||||||
|
|
||||||
|
String url = downloadUrl(Provider.of<UserProvider>(context, listen: false).instituteCode ?? "");
|
||||||
|
Uint8List data = await Provider.of<KretaClient>(context, listen: false).getAPI(url, rawResponse: true);
|
||||||
|
if (!await StorageHelper.write("$downloads/$name", data)) return "";
|
||||||
|
|
||||||
|
return "$downloads/$name";
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<bool> open(BuildContext context) async {
|
||||||
|
String downloads = await StorageHelper.downloadsPath();
|
||||||
|
|
||||||
if (!await File("$downloads/$name").exists()) await download(context);
|
if (!await File("$downloads/$name").exists()) await download(context);
|
||||||
var result = await OpenFile.open("$downloads/$name");
|
var result = await OpenFile.open("$downloads/$name");
|
||||||
return result.type == ResultType.done;
|
return result.type == ResultType.done;
|
||||||
|
|||||||
Submodule filcnaplo_kreta_api updated: 8d3c15fc2a...bab39c9eb4
Submodule filcnaplo_mobile_ui updated: 1fee7db73a...39bab27fd3
Reference in New Issue
Block a user