From 1d69e42949dc3916dc81857a248239feafa29606 Mon Sep 17 00:00:00 2001 From: Michael Wood Date: Mon, 12 May 2025 13:18:16 +0200 Subject: [PATCH] Add allowOverride app source option --- lib/app_sources/coolapk.dart | 3 ++- lib/pages/add_app.dart | 10 ++++++++-- lib/providers/source_provider.dart | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/app_sources/coolapk.dart b/lib/app_sources/coolapk.dart index 01027da..741ec26 100644 --- a/lib/app_sources/coolapk.dart +++ b/lib/app_sources/coolapk.dart @@ -13,6 +13,7 @@ class CoolApk extends AppSource { hosts = ['www.coolapk.com', 'api2.coolapk.com']; allowSubDomains = true; naiveStandardVersionDetection = true; + allowOverride = false; } @override @@ -170,4 +171,4 @@ class CoolApk extends AppSource { return {'deviceCode': deviceCode, 'token': finalToken}; } -} \ No newline at end of file +} diff --git a/lib/pages/add_app.dart b/lib/pages/add_app.dart index 41d9f9c..327819a 100644 --- a/lib/pages/add_app.dart +++ b/lib/pages/add_app.dart @@ -407,8 +407,14 @@ class AddAppPageState extends State { defaultValue: pickedSourceOverride ?? '', [ MapEntry('', tr('none')), - ...sourceProvider.sources.map( - (s) => MapEntry(s.runtimeType.toString(), s.name)) + ...sourceProvider.sources + .where((s) => + s.allowOverride || + (pickedSource != null && + pickedSource.runtimeType == + s.runtimeType)) + .map((s) => + MapEntry(s.runtimeType.toString(), s.name)) ], label: tr('overrideSource')) ] diff --git a/lib/providers/source_provider.dart b/lib/providers/source_provider.dart index 72bc931..a9852d6 100644 --- a/lib/providers/source_provider.dart +++ b/lib/providers/source_provider.dart @@ -586,6 +586,7 @@ abstract class AppSource { bool appIdInferIsOptional = false; bool allowSubDomains = false; bool naiveStandardVersionDetection = false; + bool allowOverride = true; bool neverAutoSelect = false; bool showReleaseDateAsVersionToggle = false; bool versionDetectionDisallowed = false;