mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-08-19 13:09:30 +02:00
Bugfixes
This commit is contained in:
@@ -1095,8 +1095,10 @@ class AppsProvider with ChangeNotifier {
|
||||
return updateAppIds;
|
||||
}
|
||||
|
||||
Future<String?> exportApps({bool pickOnly = false, isAuto = false}) async {
|
||||
var exportDir = settingsProvider.exportDir;
|
||||
Future<String?> exportApps(
|
||||
{bool pickOnly = false, isAuto = false, SettingsProvider? sp}) async {
|
||||
SettingsProvider settingsProvider = sp ?? this.settingsProvider;
|
||||
var exportDir = await settingsProvider.getExportDir();
|
||||
if (isAuto) {
|
||||
if (exportDir == null) {
|
||||
logs.add('Skipping auto-export as dir is not set.');
|
||||
@@ -1112,13 +1114,12 @@ class AppsProvider with ChangeNotifier {
|
||||
logs.add('Previous auto-export deleted.');
|
||||
}
|
||||
}
|
||||
exportDir = settingsProvider.exportDir;
|
||||
if (exportDir == null || pickOnly) {
|
||||
await settingsProvider.pickExportDirKeepLastN();
|
||||
exportDir = settingsProvider.exportDir;
|
||||
await settingsProvider.pickExportDir();
|
||||
exportDir = await settingsProvider.getExportDir();
|
||||
}
|
||||
if (exportDir == null) {
|
||||
throw ObtainiumError(tr('unexpectedError'));
|
||||
return null;
|
||||
}
|
||||
String? returnPath;
|
||||
if (!pickOnly) {
|
||||
|
@@ -362,18 +362,25 @@ class SettingsProvider with ChangeNotifier {
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Uri? get exportDir {
|
||||
Future<Uri?> getExportDir() async {
|
||||
var uriString = prefs?.getString('exportDir');
|
||||
if (uriString != null) {
|
||||
return Uri.parse(uriString);
|
||||
Uri? uri = Uri.parse(uriString);
|
||||
if (!(await saf.canRead(uri) ?? false) ||
|
||||
!(await saf.canWrite(uri) ?? false)) {
|
||||
uri = null;
|
||||
prefs?.remove('exportDir');
|
||||
notifyListeners();
|
||||
}
|
||||
return uri;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> pickExportDirKeepLastN({bool remove = false}) async {
|
||||
Future<void> pickExportDir({bool remove = false}) async {
|
||||
var existingSAFPerms = (await saf.persistedUriPermissions()) ?? [];
|
||||
var currentOneWayDataSyncDir = exportDir;
|
||||
var currentOneWayDataSyncDir = await getExportDir();
|
||||
Uri? newOneWayDataSyncDir;
|
||||
if (!remove) {
|
||||
newOneWayDataSyncDir = (await saf.openDocumentTree());
|
||||
|
Reference in New Issue
Block a user