diff --git a/lib/providers/source_provider.dart b/lib/providers/source_provider.dart index f098a39..43822f4 100644 --- a/lib/providers/source_provider.dart +++ b/lib/providers/source_provider.dart @@ -67,10 +67,11 @@ appJSONCompatibilityModifiers(Map json) { .reduce((value, element) => [...value, ...element]); Map additionalSettings = getDefaultValuesFromFormItems([formItems]); + Map originalAdditionalSettings = {}; if (json['additionalSettings'] != null) { - additionalSettings.addEntries( - Map.from(jsonDecode(json['additionalSettings'])) - .entries); + originalAdditionalSettings = + Map.from(jsonDecode(json['additionalSettings'])); + additionalSettings.addEntries(originalAdditionalSettings.entries); } // If needed, migrate old-style additionalData to newer-style additionalSettings (V1) if (json['additionalData'] != null) { @@ -134,6 +135,11 @@ appJSONCompatibilityModifiers(Map json) { if (additionalSettings['autoApkFilterByArch'] == null) { additionalSettings['autoApkFilterByArch'] = false; } + // HTML 'fixed URL' support should be disabled if it previously did not exist + if (source.runtimeType == HTML().runtimeType && + originalAdditionalSettings['supportFixedAPKURL'] == null) { + additionalSettings['supportFixedAPKURL'] = false; + } json['additionalSettings'] = jsonEncode(additionalSettings); // F-Droid no longer needs cloudflare exception since override can be used - migrate apps appropriately // This allows us to reverse the changes made for issue #418 (support cloudflare.f-droid)