From 41d543c3430698b374a16df527f8a85466b879d3 Mon Sep 17 00:00:00 2001 From: gianlucaparadise Date: Sat, 16 Nov 2019 06:10:27 +0100 Subject: [PATCH] Fix CastIcon wrong state on creation --- .../flutter_cast_framework/FlutterCastFrameworkPlugin.kt | 3 +++ lib/src/cast/SessionManager.dart | 2 +- lib/src/cast/widgets/CastIcon.dart | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) 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 a92144c..b52a514 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 @@ -68,6 +68,9 @@ class FlutterCastFrameworkPlugin(private val registrar: Registrar, private val c Log.d(TAG, "App: ON_RESUME") mSessionManager.addSessionManagerListener(mSessionManagerListener, CastSession::class.java) mCastSession = mSessionManager.currentCastSession + + val castState = CastContext.getSharedInstance(registrar.activeContext()).castState + channel.invokeMethod(MethodNames.onCastStateChanged, castState) } @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE) diff --git a/lib/src/cast/SessionManager.dart b/lib/src/cast/SessionManager.dart index 70859fc..756219b 100644 --- a/lib/src/cast/SessionManager.dart +++ b/lib/src/cast/SessionManager.dart @@ -54,7 +54,7 @@ class SessionManager { void sendMessage(String namespace, String message) { final argsMap = { 'namespace': namespace, - 'message': '{"message":"$message"}' + 'message': message }; _channel.invokeMethod(PlatformMethodNames.sendMessage, argsMap); } diff --git a/lib/src/cast/widgets/CastIcon.dart b/lib/src/cast/widgets/CastIcon.dart index 865f920..c42a804 100644 --- a/lib/src/cast/widgets/CastIcon.dart +++ b/lib/src/cast/widgets/CastIcon.dart @@ -17,7 +17,7 @@ Widget _getButton(String assetName) { } class _CastIconState extends State with TickerProviderStateMixin { - CastState _castState = CastState.unavailable; + CastState _castState = FlutterCastFramework.castContext.state.value; CastState get castState => _castState;