mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-30 13:03:28 +01: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/providers/apps_provider.dart'; | ||||
| import 'package:obtainium/providers/settings_provider.dart'; | ||||
| import 'package:obtainium/providers/source_provider.dart'; | ||||
| import 'package:provider/provider.dart'; | ||||
|  | ||||
| class HomePage extends StatefulWidget { | ||||
| @@ -102,13 +103,22 @@ class _HomePageState extends State<HomePage> { | ||||
|                   }) != | ||||
|               null) { | ||||
|             // ignore: use_build_context_synchronously | ||||
|             var result = await context.read<AppsProvider>().import( | ||||
|                 action == 'app' | ||||
|             var appsProvider = await context.read<AppsProvider>(); | ||||
|             var result = await appsProvider.import(action == 'app' | ||||
|                 ? '{ "apps": [$dataStr] }' | ||||
|                 : '{ "apps": $dataStr }'); | ||||
|             // ignore: use_build_context_synchronously | ||||
|             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 { | ||||
|           throw ObtainiumError(tr('unknown')); | ||||
|   | ||||
| @@ -144,7 +144,7 @@ class _ImportExportPageState extends State<ImportExportPage> { | ||||
|             appsProvider.addMissingCategories(settingsProvider); | ||||
|             showMessage( | ||||
|                 '${tr('importedX', args: [ | ||||
|                       plural('apps', value.key) | ||||
|                       plural('apps', value.key.length) | ||||
|                     ])}${value.value ? ' + ${tr('settings')}' : ''}', | ||||
|                 context); | ||||
|           }); | ||||
|   | ||||
| @@ -1516,7 +1516,7 @@ class AppsProvider with ChangeNotifier { | ||||
|     return returnPath; | ||||
|   } | ||||
|  | ||||
|   Future<MapEntry<int, bool>> import(String appsJSON) async { | ||||
|   Future<MapEntry<List<App>, bool>> import(String appsJSON) async { | ||||
|     var decodedJSON = jsonDecode(appsJSON); | ||||
|     var newFormat = decodedJSON is! List; | ||||
|     List<App> importedApps = | ||||
| @@ -1550,8 +1550,8 @@ class AppsProvider with ChangeNotifier { | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|     return MapEntry<int, bool>( | ||||
|         importedApps.length, newFormat && decodedJSON['settings'] != null); | ||||
|     return MapEntry<List<App>, bool>( | ||||
|         importedApps, newFormat && decodedJSON['settings'] != null); | ||||
|   } | ||||
|  | ||||
|   @override | ||||
|   | ||||
		Reference in New Issue
	
	Block a user