From c4d06c1ba2efcc42c74ab24569c43c0060131085 Mon Sep 17 00:00:00 2001 From: Kelvin Date: Fri, 1 Aug 2025 21:55:47 +0200 Subject: [PATCH] Hide sync ui, thumbnails nullable --- .../platformplayer/api/media/LiveChatManager.kt | 2 -- .../models/video/SerializedPlatformVideo.kt | 3 ++- .../platforms/js/SourcePluginDescriptor.kt | 17 ++--------------- .../mainactivity/main/SourceDetailFragment.kt | 5 +++++ 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/api/media/LiveChatManager.kt b/app/src/main/java/com/futo/platformplayer/api/media/LiveChatManager.kt index da7302fb..b6f61a33 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/LiveChatManager.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/LiveChatManager.kt @@ -123,8 +123,6 @@ class LiveChatManager { val requestPosition = _position; _pager.nextPage(requestPosition.toInt()); var replayResults = _pager.getResults().filter { it.time > requestPosition || it is LiveEventEmojis }; - //TODO: Remove this once dripfeed is done properly - replayResults = replayResults.filter{ it.time < requestPosition + 1500 || it is LiveEventEmojis }; if(replayResults.size > 0) { _eventsPosition = replayResults.maxOf { it.time }; Logger.i(TAG, "VOD Events last event: " + _eventsPosition); diff --git a/app/src/main/java/com/futo/platformplayer/api/media/models/video/SerializedPlatformVideo.kt b/app/src/main/java/com/futo/platformplayer/api/media/models/video/SerializedPlatformVideo.kt index eadffc8d..7388dfa8 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/models/video/SerializedPlatformVideo.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/models/video/SerializedPlatformVideo.kt @@ -3,6 +3,7 @@ package com.futo.platformplayer.api.media.models.video import com.futo.platformplayer.api.media.PlatformID import com.futo.platformplayer.api.media.Serializer import com.futo.platformplayer.api.media.models.PlatformAuthorLink +import com.futo.platformplayer.api.media.models.Thumbnail import com.futo.platformplayer.api.media.models.Thumbnails import com.futo.platformplayer.api.media.models.contents.ContentType import com.futo.platformplayer.serializers.OffsetDateTimeNullableSerializer @@ -16,7 +17,7 @@ open class SerializedPlatformVideo( override val contentType: ContentType = ContentType.MEDIA, override val id: PlatformID, override val name: String, - override val thumbnails: Thumbnails, + override val thumbnails: Thumbnails = Thumbnails(), override val author: PlatformAuthorLink, @kotlinx.serialization.Serializable(with = OffsetDateTimeNullableSerializer::class) @JsonNames("datetime", "dateTime") 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 55921618..771e1feb 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 @@ -116,25 +116,12 @@ class SourcePluginDescriptor { var enableShorts: Boolean? = null; } - @FormField(R.string.sync, "group", R.string.sync_desc, 3) + @FormField(R.string.sync, "group", R.string.sync_desc, 3,"sync") var sync = Sync(); @Serializable class Sync { - @FormField(R.string.sync_history, FieldForm.TOGGLE, R.string.sync_history_desc, 1) + @FormField(R.string.sync_history, FieldForm.TOGGLE, R.string.sync_history_desc, 1,"syncHistory") var enableHistorySync: Boolean? = null; - - @FormField(R.string.sync_history, FieldForm.BUTTON, R.string.sync_history_desc, 2) - @FormFieldButton() - fun syncHistoryNow() { - StateApp.instance.scopeOrNull?.launch(Dispatchers.IO) { - val clients = StatePlatform.instance.getEnabledClients(); - for (client in clients) { - if (client is JSClient) {//) && client.descriptor.appSettings.sync.enableHistorySync == true) { - StateHistory.instance.syncRemoteHistory(client); - } - } - }; - } } @FormField(R.string.ratelimit, "group", R.string.ratelimit_description, 4) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt index 1b621c03..5c2a8085 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt @@ -152,6 +152,11 @@ class SourceDetailFragment : MainFragment() { if(field is View) field.isVisible = false; } + if(!source.capabilities.hasGetUserHistory) { + val field = _settingsAppForm.findField("sync"); + if(field is View) + field.isVisible = false; + } _settingsAppForm.onChanged.clear(); _settingsAppForm.onChanged.subscribe { field, value -> _settingsAppChanged = true;