Pigeon: Integrated showCastDialog API in Dart

This commit is contained in:
gianlucaparadise 2021-11-01 16:28:48 +01:00
parent 4e56530e63
commit f7f5cc679a
3 changed files with 3 additions and 7 deletions

View file

@ -1,6 +1,5 @@
class PlatformMethodNames { class PlatformMethodNames {
static const onCastStateChanged = "CastContext.onCastStateChanged"; static const onCastStateChanged = "CastContext.onCastStateChanged";
static const showCastDialog = "showCastDialog";
static const onSessionStarting = "SessionManager.onSessionStarting"; static const onSessionStarting = "SessionManager.onSessionStarting";
static const onSessionStarted = "SessionManager.onSessionStarted"; static const onSessionStarted = "SessionManager.onSessionStarted";

View file

@ -1,18 +1,15 @@
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import '../HostApis.dart'; import '../HostApis.dart';
import '../MethodNames.dart';
import 'SessionManager.dart'; import 'SessionManager.dart';
class CastContext { class CastContext {
final ValueNotifier<CastState> state = ValueNotifier(CastState.unavailable); final ValueNotifier<CastState> state = ValueNotifier(CastState.unavailable);
final MethodChannel _channel;
final CastApi castApi; final CastApi castApi;
CastContext(this._channel, this.castApi); CastContext(this.castApi);
void showCastChooserDialog() { void showCastChooserDialog() {
_channel.invokeMethod(PlatformMethodNames.showCastDialog); castApi.showCastDialog();
} }
void onCastStateChanged(dynamic arguments) { void onCastStateChanged(dynamic arguments) {

View file

@ -60,7 +60,7 @@ class FlutterCastFramework {
static CastContext get castContext { static CastContext get castContext {
var castContext = _castContext; var castContext = _castContext;
if (!_isInitiated || castContext == null) { if (!_isInitiated || castContext == null) {
_castContext = castContext = CastContext(_channel, castApi); _castContext = castContext = CastContext(castApi);
// TODO: find a better way to init the plugin // TODO: find a better way to init the plugin
_isInitiated = true; _isInitiated = true;
_init(); _init();