#157 new: icloud sync

This commit is contained in:
lollipopkit
2023-09-11 19:20:29 +08:00
parent ddaee7c2f3
commit e4fd75ac5a
22 changed files with 448 additions and 125 deletions

View File

@@ -3,23 +3,43 @@ import 'dart:io';
import 'package:path_provider/path_provider.dart';
import 'package:toolbox/core/utils/platform.dart';
Future<Directory> get docDir async {
String? _docDir;
String? _sftpDir;
String? _fontDir;
Future<String> get docDir async {
if (_docDir != null) {
return _docDir!;
}
if (isAndroid) {
final dir = await getExternalStorageDirectory();
if (dir != null) {
return dir;
_docDir = dir.path;
return dir.path;
}
// fallthrough to getApplicationDocumentsDirectory
}
return await getApplicationDocumentsDirectory();
final dir = await getApplicationDocumentsDirectory();
_docDir = dir.path;
return dir.path;
}
Future<Directory> get sftpDir async {
final dir = Directory('${(await docDir).path}/sftp');
return dir.create(recursive: true);
Future<String> get sftpDir async {
if (_sftpDir != null) {
return _sftpDir!;
}
_sftpDir = '${await docDir}/sftp';
final dir = Directory(_sftpDir!);
await dir.create(recursive: true);
return _sftpDir!;
}
Future<Directory> get fontDir async {
final dir = Directory('${(await docDir).path}/font');
return dir.create(recursive: true);
Future<String> get fontDir async {
if (_fontDir != null) {
return _fontDir!;
}
_fontDir = '${await docDir}/font';
final dir = Directory(_fontDir!);
await dir.create(recursive: true);
return _fontDir!;
}