diff --git a/lib/providers/source_provider.dart b/lib/providers/source_provider.dart index 6025dde4..2b2ce683 100644 --- a/lib/providers/source_provider.dart +++ b/lib/providers/source_provider.dart @@ -30,6 +30,7 @@ import 'package:obtainium/app_sources/uptodown.dart'; import 'package:obtainium/components/generated_form.dart'; import 'package:obtainium/custom_errors.dart'; import 'package:obtainium/mass_app_sources/githubstars.dart'; +import 'package:obtainium/providers/logs_provider.dart'; import 'package:obtainium/providers/settings_provider.dart'; class AppNames { @@ -367,7 +368,14 @@ class App { otherAssetUrls: otherAssetUrls); factory App.fromJson(Map json) { - json = appJSONCompatibilityModifiers(json); + Map originalJSON = new Map.from(json); + try { + json = appJSONCompatibilityModifiers(json); + } catch (e) { + json = originalJSON; + LogsProvider().add( + 'Error running JSON compat modifiers: ${e.toString()}: ${originalJSON.toString()}'); + } return App( json['id'] as String, json['url'] as String, diff --git a/pubspec.yaml b/pubspec.yaml index bccc26db..ba18f7b5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.1.33+2290 +version: 1.1.34+2291 environment: sdk: '>=3.0.0 <4.0.0'