flutter_cast_framework_modern/lib/cast/CastContext.dart
gianlucaparadise b4b8eb258a CustomMessage handling: send and receive;
Code re-organization: CastDialogOpener, MethodNames;
2019-11-12 07:10:28 +01:00

36 lines
908 B
Dart

import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:flutter_cast_framework/MethodNames.dart';
import 'package:flutter_cast_framework/cast/SessionManager.dart';
class CastContext {
final ValueNotifier<CastState> state = ValueNotifier(CastState.unavailable);
final MethodChannel _channel;
CastContext(this._channel);
void showCastChooserDialog() {
_channel.invokeMethod(PlatformMethodNames.showCastDialog);
}
void onCastStateChanged(dynamic arguments) {
int castState = arguments;
state.value = CastState.values[castState];
}
SessionManager _sessionManager;
SessionManager get sessionManager {
if (_sessionManager == null) {
_sessionManager = SessionManager(_channel);
}
return _sessionManager;
}
}
enum CastState {
idle, // 0
unavailable, // 1
unconnected, // 2
connecting, // 3
connected, // 4
}