1619 lines
49 KiB
Dart
1619 lines
49 KiB
Dart
// Autogenerated from Pigeon (v9.0.7), do not edit directly.
|
|
// See also: https://pub.dev/packages/pigeon
|
|
// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import
|
|
|
|
import 'dart:async';
|
|
import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List;
|
|
|
|
import 'package:flutter/foundation.dart' show ReadBuffer, WriteBuffer;
|
|
import 'package:flutter/services.dart';
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaInfo
|
|
enum StreamType {
|
|
/// An invalid (unknown) stream type.
|
|
invalid,
|
|
/// A stream type of "none".
|
|
none,
|
|
/// A buffered stream type.
|
|
buffered,
|
|
/// A live stream type.
|
|
live,
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaMetadata
|
|
enum MediaType {
|
|
/// A media type representing generic media content.
|
|
generic,
|
|
/// A media type representing a movie.
|
|
movie,
|
|
/// A media type representing an TV show.
|
|
tvShow,
|
|
/// A media type representing a music track.
|
|
musicTrack,
|
|
/// A media type representing a photo.
|
|
photo,
|
|
/// A media type representing an audiobook chapter.
|
|
audiobookChapter,
|
|
/// The smallest media type value that can be assigned for application-defined media types.
|
|
user,
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaMetadata
|
|
enum MediaMetadataKey {
|
|
/// String key: Album artist.
|
|
albumArtist,
|
|
/// String key: Album title.
|
|
albumTitle,
|
|
/// String key: Artist.
|
|
artist,
|
|
/// String key: Audiobook title.
|
|
bookTitle,
|
|
/// String key: Broadcast date.
|
|
broadcastDate,
|
|
/// String key: Chapter number.
|
|
chapterNumber,
|
|
/// String key: Chapter title.
|
|
chapterTitle,
|
|
/// String key: Composer.
|
|
composer,
|
|
/// String key: Creation date.
|
|
creationDate,
|
|
/// Integer key: Disc number.
|
|
discNumber,
|
|
/// Integer key: Episode number.
|
|
episodeNumber,
|
|
/// Integer key: Height.
|
|
height,
|
|
/// Double key: Location latitude.
|
|
locationLatitude,
|
|
/// Double key: Location longitude.
|
|
locationLongitude,
|
|
/// String key: Location name.
|
|
locationName,
|
|
/// Int key: Queue item ID.
|
|
queueItemId,
|
|
/// String key: Release date.
|
|
releaseDate,
|
|
/// Integer key: Season number.
|
|
seasonNumber,
|
|
/// Time key in milliseconds: section duration.
|
|
sectionDuration,
|
|
/// Time key in milliseconds: section start absolute time.
|
|
sectionStartAbsoluteTime,
|
|
/// Time key in milliseconds: section start time in the container.
|
|
sectionStartTimeInContainer,
|
|
/// Time key in milliseconds: section start time in media item.
|
|
sectionStartTimeInMedia,
|
|
/// String key: Series title.
|
|
seriesTitle,
|
|
/// String key: Studio.
|
|
studio,
|
|
/// String key: Subtitle.
|
|
subtitle,
|
|
/// String key: Title.
|
|
title,
|
|
/// Integer key: Track number.
|
|
trackNumber,
|
|
/// Integer key: Width.
|
|
width,
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaTrack
|
|
enum TrackType {
|
|
/// A media track type indicating an unknown track type.
|
|
unknown,
|
|
/// A media track type indicating a text track.
|
|
text,
|
|
/// A media track type indicating an audio track.
|
|
audio,
|
|
/// A media track type indicating a video track.
|
|
video,
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaTrack
|
|
enum TrackSubtype {
|
|
/// A media track subtype indicating an unknown subtype.
|
|
unknown,
|
|
/// A media track subtype indicating no subtype.
|
|
none,
|
|
/// A media track subtype indicating subtitles.
|
|
subtitles,
|
|
/// A media track subtype indicating closed captions.
|
|
captions,
|
|
/// A media track subtype indicating descriptions.
|
|
descriptions,
|
|
/// A media track subtype indicating chapters.
|
|
chapters,
|
|
/// A media track subtype indicating metadata.
|
|
metadata,
|
|
}
|
|
|
|
/// State of the remote media player
|
|
enum PlayerState {
|
|
/// Constant indicating unknown player state.
|
|
unknown,
|
|
/// Constant indicating that the media player is idle.
|
|
idle,
|
|
/// Constant indicating that the media player is playing.
|
|
playing,
|
|
/// Constant indicating that the media player is paused.
|
|
paused,
|
|
/// Constant indicating that the media player is buffering.
|
|
buffering,
|
|
/// Constant indicating that the media player is loading.
|
|
loading,
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaLoadRequestData
|
|
class MediaLoadRequestData {
|
|
MediaLoadRequestData({
|
|
this.shouldAutoplay,
|
|
this.currentTime,
|
|
this.mediaInfo,
|
|
});
|
|
|
|
bool? shouldAutoplay;
|
|
|
|
int? currentTime;
|
|
|
|
MediaInfo? mediaInfo;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
shouldAutoplay,
|
|
currentTime,
|
|
mediaInfo?.encode(),
|
|
];
|
|
}
|
|
|
|
static MediaLoadRequestData decode(Object result) {
|
|
result as List<Object?>;
|
|
return MediaLoadRequestData(
|
|
shouldAutoplay: result[0] as bool?,
|
|
currentTime: result[1] as int?,
|
|
mediaInfo: result[2] != null
|
|
? MediaInfo.decode(result[2]! as List<Object?>)
|
|
: null,
|
|
);
|
|
}
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaInfo
|
|
class MediaInfo {
|
|
MediaInfo({
|
|
this.contentId,
|
|
this.streamType,
|
|
this.contentType,
|
|
this.mediaMetadata,
|
|
this.mediaTracks,
|
|
this.streamDuration,
|
|
this.adBreakClips,
|
|
this.customDataAsJson,
|
|
});
|
|
|
|
String? contentId;
|
|
|
|
StreamType? streamType;
|
|
|
|
String? contentType;
|
|
|
|
MediaMetadata? mediaMetadata;
|
|
|
|
List<MediaTrack?>? mediaTracks;
|
|
|
|
int? streamDuration;
|
|
|
|
List<AdBreakClipInfo?>? adBreakClips;
|
|
|
|
/// String containing a json object
|
|
String? customDataAsJson;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
contentId,
|
|
streamType?.index,
|
|
contentType,
|
|
mediaMetadata?.encode(),
|
|
mediaTracks,
|
|
streamDuration,
|
|
adBreakClips,
|
|
customDataAsJson,
|
|
];
|
|
}
|
|
|
|
static MediaInfo decode(Object result) {
|
|
result as List<Object?>;
|
|
return MediaInfo(
|
|
contentId: result[0] as String?,
|
|
streamType: result[1] != null
|
|
? StreamType.values[result[1]! as int]
|
|
: null,
|
|
contentType: result[2] as String?,
|
|
mediaMetadata: result[3] != null
|
|
? MediaMetadata.decode(result[3]! as List<Object?>)
|
|
: null,
|
|
mediaTracks: (result[4] as List<Object?>?)?.cast<MediaTrack?>(),
|
|
streamDuration: result[5] as int?,
|
|
adBreakClips: (result[6] as List<Object?>?)?.cast<AdBreakClipInfo?>(),
|
|
customDataAsJson: result[7] as String?,
|
|
);
|
|
}
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaMetadata
|
|
class MediaMetadata {
|
|
MediaMetadata({
|
|
this.mediaType,
|
|
this.strings,
|
|
this.webImages,
|
|
});
|
|
|
|
MediaType? mediaType;
|
|
|
|
Map<String?, String?>? strings;
|
|
|
|
List<WebImage?>? webImages;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
mediaType?.index,
|
|
strings,
|
|
webImages,
|
|
];
|
|
}
|
|
|
|
static MediaMetadata decode(Object result) {
|
|
result as List<Object?>;
|
|
return MediaMetadata(
|
|
mediaType: result[0] != null
|
|
? MediaType.values[result[0]! as int]
|
|
: null,
|
|
strings: (result[1] as Map<Object?, Object?>?)?.cast<String?, String?>(),
|
|
webImages: (result[2] as List<Object?>?)?.cast<WebImage?>(),
|
|
);
|
|
}
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/common/images/WebImage
|
|
class WebImage {
|
|
WebImage({
|
|
this.url,
|
|
});
|
|
|
|
String? url;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
url,
|
|
];
|
|
}
|
|
|
|
static WebImage decode(Object result) {
|
|
result as List<Object?>;
|
|
return WebImage(
|
|
url: result[0] as String?,
|
|
);
|
|
}
|
|
}
|
|
|
|
/// Docs here: https://developers.google.com/android/reference/com/google/android/gms/cast/MediaTrack
|
|
class MediaTrack {
|
|
MediaTrack({
|
|
this.id,
|
|
this.trackType,
|
|
this.name,
|
|
this.trackSubtype,
|
|
this.contentId,
|
|
this.language,
|
|
});
|
|
|
|
int? id;
|
|
|
|
TrackType? trackType;
|
|
|
|
String? name;
|
|
|
|
TrackSubtype? trackSubtype;
|
|
|
|
String? contentId;
|
|
|
|
String? language;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
id,
|
|
trackType?.index,
|
|
name,
|
|
trackSubtype?.index,
|
|
contentId,
|
|
language,
|
|
];
|
|
}
|
|
|
|
static MediaTrack decode(Object result) {
|
|
result as List<Object?>;
|
|
return MediaTrack(
|
|
id: result[0] as int?,
|
|
trackType: result[1] != null
|
|
? TrackType.values[result[1]! as int]
|
|
: null,
|
|
name: result[2] as String?,
|
|
trackSubtype: result[3] != null
|
|
? TrackSubtype.values[result[3]! as int]
|
|
: null,
|
|
contentId: result[4] as String?,
|
|
language: result[5] as String?,
|
|
);
|
|
}
|
|
}
|
|
|
|
class MediaStatus {
|
|
MediaStatus({
|
|
this.playerState,
|
|
this.isPlayingAd,
|
|
this.mediaInfo,
|
|
this.adBreakStatus,
|
|
});
|
|
|
|
PlayerState? playerState;
|
|
|
|
bool? isPlayingAd;
|
|
|
|
MediaInfo? mediaInfo;
|
|
|
|
AdBreakStatus? adBreakStatus;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
playerState?.index,
|
|
isPlayingAd,
|
|
mediaInfo?.encode(),
|
|
adBreakStatus?.encode(),
|
|
];
|
|
}
|
|
|
|
static MediaStatus decode(Object result) {
|
|
result as List<Object?>;
|
|
return MediaStatus(
|
|
playerState: result[0] != null
|
|
? PlayerState.values[result[0]! as int]
|
|
: null,
|
|
isPlayingAd: result[1] as bool?,
|
|
mediaInfo: result[2] != null
|
|
? MediaInfo.decode(result[2]! as List<Object?>)
|
|
: null,
|
|
adBreakStatus: result[3] != null
|
|
? AdBreakStatus.decode(result[3]! as List<Object?>)
|
|
: null,
|
|
);
|
|
}
|
|
}
|
|
|
|
class AdBreakStatus {
|
|
AdBreakStatus({
|
|
this.adBreakId,
|
|
this.adBreakClipId,
|
|
this.whenSkippableMs,
|
|
});
|
|
|
|
String? adBreakId;
|
|
|
|
String? adBreakClipId;
|
|
|
|
int? whenSkippableMs;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
adBreakId,
|
|
adBreakClipId,
|
|
whenSkippableMs,
|
|
];
|
|
}
|
|
|
|
static AdBreakStatus decode(Object result) {
|
|
result as List<Object?>;
|
|
return AdBreakStatus(
|
|
adBreakId: result[0] as String?,
|
|
adBreakClipId: result[1] as String?,
|
|
whenSkippableMs: result[2] as int?,
|
|
);
|
|
}
|
|
}
|
|
|
|
class AdBreakClipInfo {
|
|
AdBreakClipInfo({
|
|
this.id,
|
|
this.title,
|
|
this.contentId,
|
|
this.contentUrl,
|
|
this.clickThroughUrl,
|
|
this.durationMs,
|
|
this.imageUrl,
|
|
this.mimeType,
|
|
this.whenSkippableMs,
|
|
});
|
|
|
|
String? id;
|
|
|
|
String? title;
|
|
|
|
String? contentId;
|
|
|
|
String? contentUrl;
|
|
|
|
String? clickThroughUrl;
|
|
|
|
int? durationMs;
|
|
|
|
String? imageUrl;
|
|
|
|
String? mimeType;
|
|
|
|
int? whenSkippableMs;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
id,
|
|
title,
|
|
contentId,
|
|
contentUrl,
|
|
clickThroughUrl,
|
|
durationMs,
|
|
imageUrl,
|
|
mimeType,
|
|
whenSkippableMs,
|
|
];
|
|
}
|
|
|
|
static AdBreakClipInfo decode(Object result) {
|
|
result as List<Object?>;
|
|
return AdBreakClipInfo(
|
|
id: result[0] as String?,
|
|
title: result[1] as String?,
|
|
contentId: result[2] as String?,
|
|
contentUrl: result[3] as String?,
|
|
clickThroughUrl: result[4] as String?,
|
|
durationMs: result[5] as int?,
|
|
imageUrl: result[6] as String?,
|
|
mimeType: result[7] as String?,
|
|
whenSkippableMs: result[8] as int?,
|
|
);
|
|
}
|
|
}
|
|
|
|
class MediaQueueItem {
|
|
MediaQueueItem({
|
|
this.itemId,
|
|
this.playbackDuration,
|
|
this.startTime,
|
|
this.media,
|
|
this.autoplay,
|
|
this.preloadTime,
|
|
});
|
|
|
|
int? itemId;
|
|
|
|
double? playbackDuration;
|
|
|
|
double? startTime;
|
|
|
|
MediaInfo? media;
|
|
|
|
bool? autoplay;
|
|
|
|
double? preloadTime;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
itemId,
|
|
playbackDuration,
|
|
startTime,
|
|
media?.encode(),
|
|
autoplay,
|
|
preloadTime,
|
|
];
|
|
}
|
|
|
|
static MediaQueueItem decode(Object result) {
|
|
result as List<Object?>;
|
|
return MediaQueueItem(
|
|
itemId: result[0] as int?,
|
|
playbackDuration: result[1] as double?,
|
|
startTime: result[2] as double?,
|
|
media: result[3] != null
|
|
? MediaInfo.decode(result[3]! as List<Object?>)
|
|
: null,
|
|
autoplay: result[4] as bool?,
|
|
preloadTime: result[5] as double?,
|
|
);
|
|
}
|
|
}
|
|
|
|
class CastDevice {
|
|
CastDevice({
|
|
this.deviceId,
|
|
this.friendlyName,
|
|
this.modelName,
|
|
});
|
|
|
|
String? deviceId;
|
|
|
|
String? friendlyName;
|
|
|
|
String? modelName;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
deviceId,
|
|
friendlyName,
|
|
modelName,
|
|
];
|
|
}
|
|
|
|
static CastDevice decode(Object result) {
|
|
result as List<Object?>;
|
|
return CastDevice(
|
|
deviceId: result[0] as String?,
|
|
friendlyName: result[1] as String?,
|
|
modelName: result[2] as String?,
|
|
);
|
|
}
|
|
}
|
|
|
|
class CastMessage {
|
|
CastMessage({
|
|
this.namespace,
|
|
this.message,
|
|
});
|
|
|
|
String? namespace;
|
|
|
|
String? message;
|
|
|
|
Object encode() {
|
|
return <Object?>[
|
|
namespace,
|
|
message,
|
|
];
|
|
}
|
|
|
|
static CastMessage decode(Object result) {
|
|
result as List<Object?>;
|
|
return CastMessage(
|
|
namespace: result[0] as String?,
|
|
message: result[1] as String?,
|
|
);
|
|
}
|
|
}
|
|
|
|
class _CastHostApiCodec extends StandardMessageCodec {
|
|
const _CastHostApiCodec();
|
|
@override
|
|
void writeValue(WriteBuffer buffer, Object? value) {
|
|
if (value is AdBreakClipInfo) {
|
|
buffer.putUint8(128);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is CastDevice) {
|
|
buffer.putUint8(129);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is CastMessage) {
|
|
buffer.putUint8(130);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaInfo) {
|
|
buffer.putUint8(131);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaLoadRequestData) {
|
|
buffer.putUint8(132);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaMetadata) {
|
|
buffer.putUint8(133);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaQueueItem) {
|
|
buffer.putUint8(134);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaTrack) {
|
|
buffer.putUint8(135);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is WebImage) {
|
|
buffer.putUint8(136);
|
|
writeValue(buffer, value.encode());
|
|
} else {
|
|
super.writeValue(buffer, value);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Object? readValueOfType(int type, ReadBuffer buffer) {
|
|
switch (type) {
|
|
case 128:
|
|
return AdBreakClipInfo.decode(readValue(buffer)!);
|
|
case 129:
|
|
return CastDevice.decode(readValue(buffer)!);
|
|
case 130:
|
|
return CastMessage.decode(readValue(buffer)!);
|
|
case 131:
|
|
return MediaInfo.decode(readValue(buffer)!);
|
|
case 132:
|
|
return MediaLoadRequestData.decode(readValue(buffer)!);
|
|
case 133:
|
|
return MediaMetadata.decode(readValue(buffer)!);
|
|
case 134:
|
|
return MediaQueueItem.decode(readValue(buffer)!);
|
|
case 135:
|
|
return MediaTrack.decode(readValue(buffer)!);
|
|
case 136:
|
|
return WebImage.decode(readValue(buffer)!);
|
|
default:
|
|
return super.readValueOfType(type, buffer);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// APIs for Flutter-to-Host comunication
|
|
class CastHostApi {
|
|
/// Constructor for [CastHostApi]. The [binaryMessenger] named argument is
|
|
/// available for dependency injection. If it is left null, the default
|
|
/// BinaryMessenger will be used which routes to the host platform.
|
|
CastHostApi({BinaryMessenger? binaryMessenger})
|
|
: _binaryMessenger = binaryMessenger;
|
|
final BinaryMessenger? _binaryMessenger;
|
|
|
|
static const MessageCodec<Object?> codec = _CastHostApiCodec();
|
|
|
|
Future<void> sendMessage(CastMessage arg_message) async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.sendMessage', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(<Object?>[arg_message]) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> showCastDialog() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.showCastDialog', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> setMute(bool arg_muted) async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.setMute', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(<Object?>[arg_muted]) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<CastDevice> getCastDevice() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.getCastDevice', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else if (replyList[0] == null) {
|
|
throw PlatformException(
|
|
code: 'null-error',
|
|
message: 'Host platform returned null value for non-null return value.',
|
|
);
|
|
} else {
|
|
return (replyList[0] as CastDevice?)!;
|
|
}
|
|
}
|
|
|
|
Future<void> loadMediaLoadRequestData(MediaLoadRequestData arg_request) async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.loadMediaLoadRequestData', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(<Object?>[arg_request]) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<MediaInfo> getMediaInfo() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.getMediaInfo', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else if (replyList[0] == null) {
|
|
throw PlatformException(
|
|
code: 'null-error',
|
|
message: 'Host platform returned null value for non-null return value.',
|
|
);
|
|
} else {
|
|
return (replyList[0] as MediaInfo?)!;
|
|
}
|
|
}
|
|
|
|
Future<void> play() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.play', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> pause() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.pause', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> stop() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.stop', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> showTracksChooserDialog() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.showTracksChooserDialog', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> skipAd() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.skipAd', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> queueAppendItem(MediaQueueItem arg_item) async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.queueAppendItem', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(<Object?>[arg_item]) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> queueNextItem() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.queueNextItem', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<void> queuePrevItem() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.queuePrevItem', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
Future<int> getQueueItemCount() async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.getQueueItemCount', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(null) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else if (replyList[0] == null) {
|
|
throw PlatformException(
|
|
code: 'null-error',
|
|
message: 'Host platform returned null value for non-null return value.',
|
|
);
|
|
} else {
|
|
return (replyList[0] as int?)!;
|
|
}
|
|
}
|
|
|
|
Future<MediaQueueItem> getQueueItemAtIndex(int arg_index) async {
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastHostApi.getQueueItemAtIndex', codec,
|
|
binaryMessenger: _binaryMessenger);
|
|
final List<Object?>? replyList =
|
|
await channel.send(<Object?>[arg_index]) as List<Object?>?;
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel.',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: replyList[0]! as String,
|
|
message: replyList[1] as String?,
|
|
details: replyList[2],
|
|
);
|
|
} else if (replyList[0] == null) {
|
|
throw PlatformException(
|
|
code: 'null-error',
|
|
message: 'Host platform returned null value for non-null return value.',
|
|
);
|
|
} else {
|
|
return (replyList[0] as MediaQueueItem?)!;
|
|
}
|
|
}
|
|
}
|
|
|
|
class _CastFlutterApiCodec extends StandardMessageCodec {
|
|
const _CastFlutterApiCodec();
|
|
@override
|
|
void writeValue(WriteBuffer buffer, Object? value) {
|
|
if (value is AdBreakClipInfo) {
|
|
buffer.putUint8(128);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is AdBreakStatus) {
|
|
buffer.putUint8(129);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is CastMessage) {
|
|
buffer.putUint8(130);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaInfo) {
|
|
buffer.putUint8(131);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaMetadata) {
|
|
buffer.putUint8(132);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaStatus) {
|
|
buffer.putUint8(133);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is MediaTrack) {
|
|
buffer.putUint8(134);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is WebImage) {
|
|
buffer.putUint8(135);
|
|
writeValue(buffer, value.encode());
|
|
} else {
|
|
super.writeValue(buffer, value);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Object? readValueOfType(int type, ReadBuffer buffer) {
|
|
switch (type) {
|
|
case 128:
|
|
return AdBreakClipInfo.decode(readValue(buffer)!);
|
|
case 129:
|
|
return AdBreakStatus.decode(readValue(buffer)!);
|
|
case 130:
|
|
return CastMessage.decode(readValue(buffer)!);
|
|
case 131:
|
|
return MediaInfo.decode(readValue(buffer)!);
|
|
case 132:
|
|
return MediaMetadata.decode(readValue(buffer)!);
|
|
case 133:
|
|
return MediaStatus.decode(readValue(buffer)!);
|
|
case 134:
|
|
return MediaTrack.decode(readValue(buffer)!);
|
|
case 135:
|
|
return WebImage.decode(readValue(buffer)!);
|
|
default:
|
|
return super.readValueOfType(type, buffer);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// APIs for Host-to-Flutter comunication
|
|
abstract class CastFlutterApi {
|
|
static const MessageCodec<Object?> codec = _CastFlutterApiCodec();
|
|
|
|
List<String?> getSessionMessageNamespaces();
|
|
|
|
void onCastStateChanged(int castState);
|
|
|
|
void onMessageReceived(CastMessage message);
|
|
|
|
void onSessionStarting();
|
|
|
|
void onSessionStarted();
|
|
|
|
void onSessionStartFailed();
|
|
|
|
void onSessionEnding();
|
|
|
|
void onSessionEnded();
|
|
|
|
void onSessionResuming();
|
|
|
|
void onSessionResumed();
|
|
|
|
void onSessionResumeFailed();
|
|
|
|
void onSessionSuspended();
|
|
|
|
void onStatusUpdated(MediaStatus mediaStatus);
|
|
|
|
void onMetadataUpdated();
|
|
|
|
void onQueueStatusUpdated();
|
|
|
|
void onPreloadStatusUpdated();
|
|
|
|
void onSendingRemoteMediaRequest();
|
|
|
|
void onAdBreakStatusUpdated(MediaStatus mediaStatus);
|
|
|
|
void onMediaError();
|
|
|
|
void onProgressUpdated(int progressMs, int durationMs);
|
|
|
|
void onAdBreakClipProgressUpdated(String adBreakId, String adBreakClipId, int progressMs, int durationMs, int whenSkippableMs);
|
|
|
|
void itemsInsertedInRange(int insertIndex, int insertCount);
|
|
|
|
void itemsReloaded();
|
|
|
|
void itemsRemovedAtIndexes(List<int?> indexes);
|
|
|
|
void itemsReorderedAtIndexes(List<int?> indexes, int insertBeforeIndex);
|
|
|
|
void itemsUpdatedAtIndexes(List<int?> indexes);
|
|
|
|
void mediaQueueChanged();
|
|
|
|
void mediaQueueWillChange();
|
|
|
|
static void setup(CastFlutterApi? api, {BinaryMessenger? binaryMessenger}) {
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.getSessionMessageNamespaces', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
final List<String?> output = api.getSessionMessageNamespaces();
|
|
return output;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onCastStateChanged', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onCastStateChanged was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final int? arg_castState = (args[0] as int?);
|
|
assert(arg_castState != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onCastStateChanged was null, expected non-null int.');
|
|
api.onCastStateChanged(arg_castState!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onMessageReceived', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onMessageReceived was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final CastMessage? arg_message = (args[0] as CastMessage?);
|
|
assert(arg_message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onMessageReceived was null, expected non-null CastMessage.');
|
|
api.onMessageReceived(arg_message!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionStarting', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionStarting();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionStarted', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionStarted();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionStartFailed', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionStartFailed();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionEnding', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionEnding();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionEnded', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionEnded();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionResuming', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionResuming();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionResumed', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionResumed();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionResumeFailed', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionResumeFailed();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSessionSuspended', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSessionSuspended();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onStatusUpdated', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onStatusUpdated was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final MediaStatus? arg_mediaStatus = (args[0] as MediaStatus?);
|
|
assert(arg_mediaStatus != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onStatusUpdated was null, expected non-null MediaStatus.');
|
|
api.onStatusUpdated(arg_mediaStatus!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onMetadataUpdated', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onMetadataUpdated();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onQueueStatusUpdated', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onQueueStatusUpdated();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onPreloadStatusUpdated', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onPreloadStatusUpdated();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onSendingRemoteMediaRequest', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onSendingRemoteMediaRequest();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onAdBreakStatusUpdated', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakStatusUpdated was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final MediaStatus? arg_mediaStatus = (args[0] as MediaStatus?);
|
|
assert(arg_mediaStatus != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakStatusUpdated was null, expected non-null MediaStatus.');
|
|
api.onAdBreakStatusUpdated(arg_mediaStatus!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onMediaError', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.onMediaError();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onProgressUpdated', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onProgressUpdated was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final int? arg_progressMs = (args[0] as int?);
|
|
assert(arg_progressMs != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onProgressUpdated was null, expected non-null int.');
|
|
final int? arg_durationMs = (args[1] as int?);
|
|
assert(arg_durationMs != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onProgressUpdated was null, expected non-null int.');
|
|
api.onProgressUpdated(arg_progressMs!, arg_durationMs!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final String? arg_adBreakId = (args[0] as String?);
|
|
assert(arg_adBreakId != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated was null, expected non-null String.');
|
|
final String? arg_adBreakClipId = (args[1] as String?);
|
|
assert(arg_adBreakClipId != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated was null, expected non-null String.');
|
|
final int? arg_progressMs = (args[2] as int?);
|
|
assert(arg_progressMs != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated was null, expected non-null int.');
|
|
final int? arg_durationMs = (args[3] as int?);
|
|
assert(arg_durationMs != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated was null, expected non-null int.');
|
|
final int? arg_whenSkippableMs = (args[4] as int?);
|
|
assert(arg_whenSkippableMs != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated was null, expected non-null int.');
|
|
api.onAdBreakClipProgressUpdated(arg_adBreakId!, arg_adBreakClipId!, arg_progressMs!, arg_durationMs!, arg_whenSkippableMs!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.itemsInsertedInRange', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsInsertedInRange was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final int? arg_insertIndex = (args[0] as int?);
|
|
assert(arg_insertIndex != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsInsertedInRange was null, expected non-null int.');
|
|
final int? arg_insertCount = (args[1] as int?);
|
|
assert(arg_insertCount != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsInsertedInRange was null, expected non-null int.');
|
|
api.itemsInsertedInRange(arg_insertIndex!, arg_insertCount!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.itemsReloaded', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.itemsReloaded();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.itemsRemovedAtIndexes', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsRemovedAtIndexes was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final List<int?>? arg_indexes = (args[0] as List<Object?>?)?.cast<int?>();
|
|
assert(arg_indexes != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsRemovedAtIndexes was null, expected non-null List<int?>.');
|
|
api.itemsRemovedAtIndexes(arg_indexes!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.itemsReorderedAtIndexes', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsReorderedAtIndexes was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final List<int?>? arg_indexes = (args[0] as List<Object?>?)?.cast<int?>();
|
|
assert(arg_indexes != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsReorderedAtIndexes was null, expected non-null List<int?>.');
|
|
final int? arg_insertBeforeIndex = (args[1] as int?);
|
|
assert(arg_insertBeforeIndex != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsReorderedAtIndexes was null, expected non-null int.');
|
|
api.itemsReorderedAtIndexes(arg_indexes!, arg_insertBeforeIndex!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.itemsUpdatedAtIndexes', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
assert(message != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsUpdatedAtIndexes was null.');
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final List<int?>? arg_indexes = (args[0] as List<Object?>?)?.cast<int?>();
|
|
assert(arg_indexes != null,
|
|
'Argument for dev.flutter.pigeon.CastFlutterApi.itemsUpdatedAtIndexes was null, expected non-null List<int?>.');
|
|
api.itemsUpdatedAtIndexes(arg_indexes!);
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.mediaQueueChanged', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.mediaQueueChanged();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
{
|
|
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.CastFlutterApi.mediaQueueWillChange', codec,
|
|
binaryMessenger: binaryMessenger);
|
|
if (api == null) {
|
|
channel.setMessageHandler(null);
|
|
} else {
|
|
channel.setMessageHandler((Object? message) async {
|
|
// ignore message
|
|
api.mediaQueueWillChange();
|
|
return;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|