From 96ca3f62a2140a066d26935bc8b5319cc0e3421a Mon Sep 17 00:00:00 2001 From: Kelvin Date: Mon, 7 Jul 2025 16:18:23 +0200 Subject: [PATCH] Missing invokev8 wrappers --- .../api/media/platforms/js/models/JSArticleDetails.kt | 5 +++-- .../api/media/platforms/js/models/JSComment.kt | 3 ++- .../api/media/platforms/js/models/JSPostDetails.kt | 5 +++-- .../api/media/platforms/js/models/JSSubtitleSource.kt | 3 ++- .../api/media/platforms/js/models/JSVideoDetails.kt | 7 ++++--- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSArticleDetails.kt b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSArticleDetails.kt index 0e2c0e32..40c63d48 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSArticleDetails.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSArticleDetails.kt @@ -21,6 +21,7 @@ import com.futo.platformplayer.api.media.structures.IPager import com.futo.platformplayer.getOrDefault import com.futo.platformplayer.getOrThrow import com.futo.platformplayer.getOrThrowNullableList +import com.futo.platformplayer.invokeV8 import com.futo.platformplayer.states.StateDeveloper open class JSArticleDetails : JSContent, IPlatformArticleDetails, IPluginSourced, IPlatformContentDetails { @@ -85,12 +86,12 @@ open class JSArticleDetails : JSContent, IPlatformArticleDetails, IPluginSourced } private fun getContentRecommendationsJS(client: JSClient): JSContentPager { - val contentPager = _content.invoke("getContentRecommendations", arrayOf()); + val contentPager = _content.invokeV8("getContentRecommendations", arrayOf()); return JSContentPager(_pluginConfig, client, contentPager); } private fun getCommentsJS(client: JSClient): JSCommentPager { - val commentPager = _content.invoke("getComments", arrayOf()); + val commentPager = _content.invokeV8("getComments", arrayOf()); return JSCommentPager(_pluginConfig, client, commentPager); } diff --git a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSComment.kt b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSComment.kt index ab847b6b..7767ef78 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSComment.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSComment.kt @@ -12,6 +12,7 @@ import com.futo.platformplayer.engine.V8Plugin import com.futo.platformplayer.getOrDefault import com.futo.platformplayer.getOrThrow import com.futo.platformplayer.getOrThrowNullable +import com.futo.platformplayer.invokeV8 import com.futo.platformplayer.serializers.OffsetDateTimeNullableSerializer import java.time.LocalDateTime import java.time.OffsetDateTime @@ -60,7 +61,7 @@ class JSComment : IPlatformComment { if(!_hasGetReplies) return null; - val obj = _comment!!.invoke("getReplies", arrayOf()); + val obj = _comment!!.invokeV8("getReplies", arrayOf()); val plugin = if(client is JSClient) client else throw NotImplementedError("Only implemented for JSClient"); return JSCommentPager(_config!!, plugin, obj); } diff --git a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSPostDetails.kt b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSPostDetails.kt index 6c80d7dc..4d48a354 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSPostDetails.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSPostDetails.kt @@ -15,6 +15,7 @@ import com.futo.platformplayer.api.media.platforms.js.JSClient import com.futo.platformplayer.api.media.platforms.js.SourcePluginConfig import com.futo.platformplayer.api.media.structures.IPager import com.futo.platformplayer.getOrDefault +import com.futo.platformplayer.invokeV8 import com.futo.platformplayer.states.StateDeveloper class JSPostDetails : JSPost, IPlatformPost, IPlatformPostDetails { @@ -68,12 +69,12 @@ class JSPostDetails : JSPost, IPlatformPost, IPlatformPostDetails { return null; } private fun getContentRecommendationsJS(client: JSClient): JSContentPager { - val contentPager = _content.invoke("getContentRecommendations", arrayOf()); + val contentPager = _content.invokeV8("getContentRecommendations", arrayOf()); return JSContentPager(_pluginConfig, client, contentPager); } private fun getCommentsJS(client: JSClient): JSCommentPager { - val commentPager = _content.invoke("getComments", arrayOf()); + val commentPager = _content.invokeV8("getComments", arrayOf()); return JSCommentPager(_pluginConfig, client, commentPager); } diff --git a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSSubtitleSource.kt b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSSubtitleSource.kt index 259a89e4..74843d22 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSSubtitleSource.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSSubtitleSource.kt @@ -7,6 +7,7 @@ import com.futo.platformplayer.api.media.models.subtitles.ISubtitleSource import com.futo.platformplayer.api.media.platforms.js.SourcePluginConfig import com.futo.platformplayer.getOrThrow import com.futo.platformplayer.getSourcePlugin +import com.futo.platformplayer.invokeV8 import com.futo.platformplayer.states.StateApp import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -38,7 +39,7 @@ class JSSubtitleSource : ISubtitleSource { throw IllegalStateException("This subtitle doesn't support getSubtitles.."); return _obj.getSourcePlugin()?.busy { - val v8String = _obj.invoke("getSubtitles", arrayOf()); + val v8String = _obj.invokeV8("getSubtitles", arrayOf()); return@busy v8String.value; } ?: ""; } diff --git a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSVideoDetails.kt b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSVideoDetails.kt index cecb2913..abea9550 100644 --- a/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSVideoDetails.kt +++ b/app/src/main/java/com/futo/platformplayer/api/media/platforms/js/models/JSVideoDetails.kt @@ -24,6 +24,7 @@ import com.futo.platformplayer.engine.V8Plugin import com.futo.platformplayer.getOrDefault import com.futo.platformplayer.getOrThrow import com.futo.platformplayer.getOrThrowNullable +import com.futo.platformplayer.invokeV8 import com.futo.platformplayer.states.StateDeveloper class JSVideoDetails : JSVideo, IPlatformVideoDetails { @@ -86,7 +87,7 @@ class JSVideoDetails : JSVideo, IPlatformVideoDetails { private fun getPlaybackTrackerJS(): IPlaybackTracker? { return _plugin.busy { V8Plugin.catchScriptErrors(_pluginConfig, "VideoDetails", "videoDetails.getPlaybackTracker()") { - val tracker = _content.invoke("getPlaybackTracker", arrayOf()) + val tracker = _content.invokeV8("getPlaybackTracker", arrayOf()) ?: return@catchScriptErrors null; if(tracker is V8ValueObject) return@catchScriptErrors JSPlaybackTracker(_plugin, tracker); @@ -111,7 +112,7 @@ class JSVideoDetails : JSVideo, IPlatformVideoDetails { } private fun getContentRecommendationsJS(client: JSClient): JSContentPager { return _plugin.busy { - val contentPager = _content.invoke("getContentRecommendations", arrayOf()); + val contentPager = _content.invokeV8("getContentRecommendations", arrayOf()); return@busy JSContentPager(_pluginConfig, client, contentPager); } } @@ -130,7 +131,7 @@ class JSVideoDetails : JSVideo, IPlatformVideoDetails { private fun getCommentsJS(client: JSClient): IPager? { return _plugin.busy { - val commentPager = _content.invoke("getComments", arrayOf()); + val commentPager = _content.invokeV8("getComments", arrayOf()); if (commentPager !is V8ValueObject) //TODO: Maybe handle this better? return@busy null;