mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 15:57:25 +00:00
fix #115
This commit is contained in:
@@ -39,7 +39,7 @@ class ImportComic {
|
|||||||
|
|
||||||
Future<bool> multipleCbz() async {
|
Future<bool> multipleCbz() async {
|
||||||
var picker = DirectoryPicker();
|
var picker = DirectoryPicker();
|
||||||
var dir = await picker.pickDirectory();
|
var dir = await picker.pickDirectory(directAccess: true);
|
||||||
if (dir != null) {
|
if (dir != null) {
|
||||||
var files = (await dir.list().toList()).whereType<File>().toList();
|
var files = (await dir.list().toList()).whereType<File>().toList();
|
||||||
files.removeWhere((e) => e.extension != 'cbz' && e.extension != 'zip');
|
files.removeWhere((e) => e.extension != 'cbz' && e.extension != 'zip');
|
||||||
|
@@ -197,7 +197,7 @@ class DirectoryPicker {
|
|||||||
|
|
||||||
static const _methodChannel = MethodChannel("venera/method_channel");
|
static const _methodChannel = MethodChannel("venera/method_channel");
|
||||||
|
|
||||||
Future<Directory?> pickDirectory() async {
|
Future<Directory?> pickDirectory({bool directAccess = false}) async {
|
||||||
IO._isSelectingFiles = true;
|
IO._isSelectingFiles = true;
|
||||||
try {
|
try {
|
||||||
String? directory;
|
String? directory;
|
||||||
@@ -205,6 +205,16 @@ class DirectoryPicker {
|
|||||||
directory = await file_selector.getDirectoryPath();
|
directory = await file_selector.getDirectoryPath();
|
||||||
} else if (App.isAndroid) {
|
} else if (App.isAndroid) {
|
||||||
directory = (await AndroidDirectory.pickDirectory())?.path;
|
directory = (await AndroidDirectory.pickDirectory())?.path;
|
||||||
|
if (directory != null && directAccess) {
|
||||||
|
// Native library does not have access to the directory. Copy it to cache.
|
||||||
|
var cache = FilePath.join(App.cachePath, "selected_directory");
|
||||||
|
if (Directory(cache).existsSync()) {
|
||||||
|
Directory(cache).deleteSync(recursive: true);
|
||||||
|
}
|
||||||
|
Directory(cache).createSync();
|
||||||
|
await copyDirectoryIsolate(Directory(directory), Directory(cache));
|
||||||
|
directory = cache;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// ios, macos
|
// ios, macos
|
||||||
directory =
|
directory =
|
||||||
|
Reference in New Issue
Block a user