Pigeon: Integrated showCastDialog API in Dart
This commit is contained in:
parent
4e56530e63
commit
f7f5cc679a
3 changed files with 3 additions and 7 deletions
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue