mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-08-16 11:48:09 +02:00
Bugfix: Get initial data on config import
This commit is contained in:
@@ -13,6 +13,7 @@ import 'package:obtainium/pages/import_export.dart';
|
|||||||
import 'package:obtainium/pages/settings.dart';
|
import 'package:obtainium/pages/settings.dart';
|
||||||
import 'package:obtainium/providers/apps_provider.dart';
|
import 'package:obtainium/providers/apps_provider.dart';
|
||||||
import 'package:obtainium/providers/settings_provider.dart';
|
import 'package:obtainium/providers/settings_provider.dart';
|
||||||
|
import 'package:obtainium/providers/source_provider.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class HomePage extends StatefulWidget {
|
class HomePage extends StatefulWidget {
|
||||||
@@ -102,13 +103,22 @@ class _HomePageState extends State<HomePage> {
|
|||||||
}) !=
|
}) !=
|
||||||
null) {
|
null) {
|
||||||
// ignore: use_build_context_synchronously
|
// ignore: use_build_context_synchronously
|
||||||
var result = await context.read<AppsProvider>().import(
|
var appsProvider = await context.read<AppsProvider>();
|
||||||
action == 'app'
|
var result = await appsProvider.import(action == 'app'
|
||||||
? '{ "apps": [$dataStr] }'
|
? '{ "apps": [$dataStr] }'
|
||||||
: '{ "apps": $dataStr }');
|
: '{ "apps": $dataStr }');
|
||||||
// ignore: use_build_context_synchronously
|
// ignore: use_build_context_synchronously
|
||||||
showMessage(
|
showMessage(
|
||||||
tr('importedX', args: [plural('apps', result.key)]), context);
|
tr('importedX', args: [plural('apps', result.key.length)]),
|
||||||
|
context);
|
||||||
|
await appsProvider
|
||||||
|
.checkUpdates(specificIds: result.key.map((e) => e.id).toList())
|
||||||
|
.catchError((e) {
|
||||||
|
if (e is Map && e['errors'] is MultiAppMultiError) {
|
||||||
|
showError(e['errors'].toString(), context);
|
||||||
|
}
|
||||||
|
return <App>[];
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw ObtainiumError(tr('unknown'));
|
throw ObtainiumError(tr('unknown'));
|
||||||
|
@@ -144,7 +144,7 @@ class _ImportExportPageState extends State<ImportExportPage> {
|
|||||||
appsProvider.addMissingCategories(settingsProvider);
|
appsProvider.addMissingCategories(settingsProvider);
|
||||||
showMessage(
|
showMessage(
|
||||||
'${tr('importedX', args: [
|
'${tr('importedX', args: [
|
||||||
plural('apps', value.key)
|
plural('apps', value.key.length)
|
||||||
])}${value.value ? ' + ${tr('settings')}' : ''}',
|
])}${value.value ? ' + ${tr('settings')}' : ''}',
|
||||||
context);
|
context);
|
||||||
});
|
});
|
||||||
|
@@ -1516,7 +1516,7 @@ class AppsProvider with ChangeNotifier {
|
|||||||
return returnPath;
|
return returnPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<MapEntry<int, bool>> import(String appsJSON) async {
|
Future<MapEntry<List<App>, bool>> import(String appsJSON) async {
|
||||||
var decodedJSON = jsonDecode(appsJSON);
|
var decodedJSON = jsonDecode(appsJSON);
|
||||||
var newFormat = decodedJSON is! List;
|
var newFormat = decodedJSON is! List;
|
||||||
List<App> importedApps =
|
List<App> importedApps =
|
||||||
@@ -1550,8 +1550,8 @@ class AppsProvider with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return MapEntry<int, bool>(
|
return MapEntry<List<App>, bool>(
|
||||||
importedApps.length, newFormat && decodedJSON['settings'] != null);
|
importedApps, newFormat && decodedJSON['settings'] != null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
Reference in New Issue
Block a user