From 21827c4c2e272a8ba6a12a6d612bd64666adb8f9 Mon Sep 17 00:00:00 2001 From: gianlucaparadise Date: Mon, 29 Nov 2021 06:52:32 +0100 Subject: [PATCH] RemoteMediaClient onProgressUpdated Android --- .../FlutterCastFrameworkPlugin.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/android/src/main/kotlin/com/gianlucaparadise/flutter_cast_framework/FlutterCastFrameworkPlugin.kt b/android/src/main/kotlin/com/gianlucaparadise/flutter_cast_framework/FlutterCastFrameworkPlugin.kt index 579335f..83cc3b5 100644 --- a/android/src/main/kotlin/com/gianlucaparadise/flutter_cast_framework/FlutterCastFrameworkPlugin.kt +++ b/android/src/main/kotlin/com/gianlucaparadise/flutter_cast_framework/FlutterCastFrameworkPlugin.kt @@ -127,6 +127,11 @@ class FlutterCastFrameworkPlugin : FlutterPlugin, MethodCallHandler, ActivityAwa field?.unregisterCallback(remoteMediaClientListener) value?.registerCallback(remoteMediaClientListener) + // Amount of time in milliseconds between subsequent updates + val periodMs = 1000L + field?.removeProgressListener(remoteMediaClientListener) + value?.addProgressListener(remoteMediaClientListener, periodMs) + field = value } @@ -168,7 +173,7 @@ class FlutterCastFrameworkPlugin : FlutterPlugin, MethodCallHandler, ActivityAwa result.notImplemented() } - private inner class RemoteMediaClientListener : RemoteMediaClient.Callback() { + private inner class RemoteMediaClientListener : RemoteMediaClient.Callback(), RemoteMediaClient.ProgressListener { override fun onStatusUpdated() { Log.d(TAG, "RemoteMediaClient - onStatusUpdated") super.onStatusUpdated() @@ -210,6 +215,11 @@ class FlutterCastFrameworkPlugin : FlutterPlugin, MethodCallHandler, ActivityAwa super.onMediaError(error) flutterApi?.onMediaError { } } + + override fun onProgressUpdated(progressMs: Long, durationMs: Long) { + Log.d(TAG, "RemoteMediaClient - onProgressUpdated progress: $progressMs duration: $durationMs") + flutterApi?.onProgressUpdated(progressMs, durationMs) { } + } } private inner class MyApi : PlatformBridgeApis.CastHostApi {