AdBreakProgress pigeon

This commit is contained in:
gianlucaparadise 2021-12-18 09:41:17 +01:00
parent f7fa33d04c
commit cc735e6adb
5 changed files with 52 additions and 0 deletions

View file

@ -800,6 +800,13 @@ public class PlatformBridgeApis {
callback.reply(null); callback.reply(null);
}); });
} }
public void onAdBreakClipProgressUpdated(String adBreakIdArg, String adBreakClipIdArg, Long progressMsArg, Long durationMsArg, Long whenSkippableMsArg, Reply<Void> callback) {
BasicMessageChannel<Object> channel =
new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated", getCodec());
channel.send(new ArrayList<Object>(Arrays.asList(adBreakIdArg, adBreakClipIdArg, progressMsArg, durationMsArg, whenSkippableMsArg)), channelReply -> {
callback.reply(null);
});
}
} }
private static Map<String, Object> wrapError(Throwable exception) { private static Map<String, Object> wrapError(Throwable exception) {
Map<String, Object> errorMap = new HashMap<>(); Map<String, Object> errorMap = new HashMap<>();

View file

@ -138,5 +138,6 @@ NSObject<FlutterMessageCodec> *CastFlutterApiGetCodec(void);
- (void)onAdBreakStatusUpdatedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onAdBreakStatusUpdatedWithCompletion:(void(^)(NSError *_Nullable))completion;
- (void)onMediaErrorWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onMediaErrorWithCompletion:(void(^)(NSError *_Nullable))completion;
- (void)onProgressUpdatedProgressMs:(NSNumber *)progressMs durationMs:(NSNumber *)durationMs completion:(void(^)(NSError *_Nullable))completion; - (void)onProgressUpdatedProgressMs:(NSNumber *)progressMs durationMs:(NSNumber *)durationMs completion:(void(^)(NSError *_Nullable))completion;
- (void)onAdBreakClipProgressUpdatedAdBreakId:(NSString *)adBreakId adBreakClipId:(NSString *)adBreakClipId progressMs:(NSNumber *)progressMs durationMs:(NSNumber *)durationMs whenSkippableMs:(NSNumber *)whenSkippableMs completion:(void(^)(NSError *_Nullable))completion;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View file

@ -755,4 +755,14 @@ NSObject<FlutterMessageCodec> *CastFlutterApiGetCodec() {
completion(nil); completion(nil);
}]; }];
} }
- (void)onAdBreakClipProgressUpdatedAdBreakId:(NSString *)arg_adBreakId adBreakClipId:(NSString *)arg_adBreakClipId progressMs:(NSNumber *)arg_progressMs durationMs:(NSNumber *)arg_durationMs whenSkippableMs:(NSNumber *)arg_whenSkippableMs completion:(void(^)(NSError *_Nullable))completion {
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated"
binaryMessenger:self.binaryMessenger
codec:CastFlutterApiGetCodec()];
[channel sendMessage:@[arg_adBreakId, arg_adBreakClipId, arg_progressMs, arg_durationMs, arg_whenSkippableMs] reply:^(id reply) {
completion(nil);
}];
}
@end @end

View file

@ -572,6 +572,7 @@ abstract class CastFlutterApi {
void onAdBreakStatusUpdated(); void onAdBreakStatusUpdated();
void onMediaError(); void onMediaError();
void onProgressUpdated(int progressMs, int durationMs); void onProgressUpdated(int progressMs, int durationMs);
void onAdBreakClipProgressUpdated(String adBreakId, String adBreakClipId, int progressMs, int durationMs, int whenSkippableMs);
static void setup(CastFlutterApi? api) { static void setup(CastFlutterApi? api) {
{ {
const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
@ -847,5 +848,29 @@ abstract class CastFlutterApi {
}); });
} }
} }
{
const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.CastFlutterApi.onAdBreakClipProgressUpdated', codec);
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;
});
}
}
} }
} }

View file

@ -223,6 +223,7 @@ class CastMessage {
String? message; String? message;
} }
/// APIs for Flutter-to-Host comunication
@HostApi() @HostApi()
abstract class CastHostApi { abstract class CastHostApi {
void sendMessage(CastMessage message); void sendMessage(CastMessage message);
@ -240,6 +241,7 @@ abstract class CastHostApi {
//endregion //endregion
} }
/// APIs for Host-to-Flutter comunication
@FlutterApi() @FlutterApi()
abstract class CastFlutterApi { abstract class CastFlutterApi {
List<String> getSessionMessageNamespaces(); List<String> getSessionMessageNamespaces();
@ -269,5 +271,12 @@ abstract class CastFlutterApi {
void onMediaError(); void onMediaError();
void onProgressUpdated(int progressMs, int durationMs); void onProgressUpdated(int progressMs, int durationMs);
void onAdBreakClipProgressUpdated(
String adBreakId,
String adBreakClipId,
int progressMs,
int durationMs,
int whenSkippableMs,
);
//endregion //endregion
} }