From 1f26188ec659b086c3667736d23113c6adb27ee8 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 27 Dec 2022 21:00:46 -0500 Subject: [PATCH] Potential fix for rangeError for no URL Apps (#201) --- lib/providers/source_provider.dart | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/providers/source_provider.dart b/lib/providers/source_provider.dart index 0d2a605..3929496 100644 --- a/lib/providers/source_provider.dart +++ b/lib/providers/source_provider.dart @@ -103,7 +103,12 @@ class App { item.ensureType(additionalSettings[item.key]); } } - + int preferredApkIndex = json['preferredApkIndex'] == null + ? 0 + : json['preferredApkIndex'] as int; + if (preferredApkIndex < 0) { + preferredApkIndex = 0; + } return App( json['id'] as String, json['url'] as String, @@ -116,9 +121,7 @@ class App { json['apkUrls'] == null ? [] : List.from(jsonDecode(json['apkUrls'])), - json['preferredApkIndex'] == null - ? 0 - : json['preferredApkIndex'] as int, + preferredApkIndex, additionalSettings, json['lastUpdateCheck'] == null ? null @@ -367,7 +370,7 @@ class SourceProvider { currentApp?.installedVersion, apkVersion, apk.apkUrls, - apk.apkUrls.length - 1, + apk.apkUrls.length - 1 >= 0 ? apk.apkUrls.length - 1 : 0, additionalSettings, DateTime.now(), currentApp?.pinned ?? false,