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 {
static const onCastStateChanged = "CastContext.onCastStateChanged";
static const showCastDialog = "showCastDialog";
static const onSessionStarting = "SessionManager.onSessionStarting";
static const onSessionStarted = "SessionManager.onSessionStarted";

View file

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

View file

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