From f78ca6c7edc22ef7fc813014fd4f8a8f7f96dd15 Mon Sep 17 00:00:00 2001 From: Kelvin <kelvin@futo.org> Date: Wed, 17 Jan 2024 12:34:58 +0100 Subject: [PATCH] Toggle to disable update check for individual sources --- .../api/media/platforms/js/SourcePluginDescriptor.kt | 3 +++ app/src/main/java/com/futo/platformplayer/states/StateApp.kt | 3 ++- .../main/java/com/futo/platformplayer/states/StatePlatform.kt | 2 +- app/src/main/res/values/strings.xml | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/SourcePluginDescriptor.kt b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/SourcePluginDescriptor.kt index 7ec7af4e..ce873f53 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/SourcePluginDescriptor.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/SourcePluginDescriptor.kt @@ -90,6 +90,9 @@ class SourcePluginDescriptor { @Serializable class AppPluginSettings { + @FormField(R.string.check_for_updates_setting, FieldForm.TOGGLE, R.string.check_for_updates_setting_description, 1) + var checkForUpdates: Boolean = true; + @FormField(R.string.visibility, "group", R.string.enable_where_this_plugins_content_are_visible, 2) var tabEnabled = TabEnabled(); @Serializable diff --git a/app/src/main/java/com/futo/platformplayer/states/StateApp.kt b/app/src/main/java/com/futo/platformplayer/states/StateApp.kt index 36551de6..f1b409ed 100644 --- a/app/src/main/java/com/futo/platformplayer/states/StateApp.kt +++ b/app/src/main/java/com/futo/platformplayer/states/StateApp.kt @@ -581,12 +581,13 @@ class StateApp { "Plugin updates available" )); + /* StateAnnouncement.instance.registerAnnouncement( "plugin-update", "Plugin updates available", "There are ${updateAvailable.size} plugin updates available.", AnnouncementType.SESSION_RECURRING - ) + )*/ } } } diff --git a/app/src/main/java/com/futo/platformplayer/states/StatePlatform.kt b/app/src/main/java/com/futo/platformplayer/states/StatePlatform.kt index 0fac4f9a..798e1988 100644 --- a/app/src/main/java/com/futo/platformplayer/states/StatePlatform.kt +++ b/app/src/main/java/com/futo/platformplayer/states/StatePlatform.kt @@ -945,7 +945,7 @@ class StatePlatform { suspend fun checkForUpdates(): List<SourcePluginConfig> = withContext(Dispatchers.IO) { var configs = mutableListOf<SourcePluginConfig>() val updatesAvailableFor = hashSetOf<String>() - for (availableClient in getAvailableClients()) { + for (availableClient in getAvailableClients().filter { it is JSClient && it.descriptor.appSettings.checkForUpdates }) { if (availableClient !is JSClient) { continue } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7534afcb..ac8e4b9b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -484,6 +484,8 @@ <string name="various_tests_against_a_custom_source">Various tests against a custom source</string> <string name="writes_to_disk_till_no_space_is_left">Writes to disk till no space is left</string> <string name="visibility">Visibility</string> + <string name="check_for_updates_setting">Check for updates</string> + <string name="check_for_updates_setting_description">If a plugin should be checked for updates on startup</string> <string name="ratelimit">Rate-limit</string> <string name="ratelimit_description">Settings related to rate-limiting this plugin\'s behavior</string> <string name="ratelimit_sub_setting">Rate-limit Subscriptions</string> -- GitLab