Update saf

This commit is contained in:
2024-12-02 15:30:59 +08:00
parent 153f1a9dfe
commit 674b5c9636
4 changed files with 10 additions and 24 deletions

View File

@@ -2,7 +2,6 @@ import 'dart:async' show Future, StreamController;
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:venera/foundation/local.dart'; import 'package:venera/foundation/local.dart';
import 'package:venera/network/images.dart';
import 'package:venera/utils/io.dart'; import 'package:venera/utils/io.dart';
import 'base_image_provider.dart'; import 'base_image_provider.dart';
import 'local_comic_image.dart' as image_provider; import 'local_comic_image.dart' as image_provider;
@@ -50,7 +49,11 @@ class LocalComicImageProvider
if(file == null) { if(file == null) {
throw "Error: Cover not found."; throw "Error: Cover not found.";
} }
return file.readAsBytes(); var data = await file.readAsBytes();
if(data.isEmpty) {
throw "Exception: Empty file(${file.path}).";
}
return data;
} }
@override @override

View File

@@ -34,25 +34,8 @@ class _AppSettingsState extends State<AppSettings> {
callback: () async { callback: () async {
String? result; String? result;
if (App.isAndroid) { if (App.isAndroid) {
var channel = const MethodChannel("venera/storage"); var picker = DirectoryPicker();
var permission = await channel.invokeMethod(''); result = (await picker.pickDirectory())?.path;
if (permission != true) {
context.showMessage(message: "Permission denied".tl);
return;
}
var path = await selectDirectory();
if (path != null) {
// check if the path is writable
var testFile = File(FilePath.join(path, "test"));
try {
await testFile.writeAsBytes([1]);
await testFile.delete();
} catch (e) {
context.showMessage(message: "Permission denied".tl);
return;
}
result = path;
}
} else if (App.isIOS) { } else if (App.isIOS) {
result = await selectDirectoryIOS(); result = await selectDirectoryIOS();
} else { } else {

View File

@@ -417,8 +417,8 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
path: "." path: "."
ref: dd5242918da0ea9a0a50b0f87ade7a2def65453d ref: "3315082b9f7055655610e4f6f136b69e48228c05"
resolved-ref: dd5242918da0ea9a0a50b0f87ade7a2def65453d resolved-ref: "3315082b9f7055655610e4f6f136b69e48228c05"
url: "https://github.com/pkuislm/flutter_saf.git" url: "https://github.com/pkuislm/flutter_saf.git"
source: git source: git
version: "0.0.1" version: "0.0.1"

View File

@@ -68,7 +68,7 @@ dependencies:
flutter_saf: flutter_saf:
git: git:
url: https://github.com/pkuislm/flutter_saf.git url: https://github.com/pkuislm/flutter_saf.git
ref: dd5242918da0ea9a0a50b0f87ade7a2def65453d ref: 3315082b9f7055655610e4f6f136b69e48228c05
pdf: ^3.11.1 pdf: ^3.11.1
dev_dependencies: dev_dependencies: