RemoteMediaClient onProgressUpdated pigeons

This commit is contained in:
gianlucaparadise 2021-11-26 06:59:21 +01:00
parent 70a0ce95e3
commit 069ac266f0
5 changed files with 39 additions and 0 deletions

View file

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

View file

@ -124,5 +124,6 @@ NSObject<FlutterMessageCodec> *CastFlutterApiGetCodec(void);
- (void)onSendingRemoteMediaRequestWithCompletion:(void(^)(NSError *_Nullable))completion;
- (void)onAdBreakStatusUpdatedWithCompletion:(void(^)(NSError *_Nullable))completion;
- (void)onMediaErrorWithCompletion:(void(^)(NSError *_Nullable))completion;
- (void)onProgressUpdatedProgressMs:(NSNumber *)progressMs durationMs:(NSNumber *)durationMs completion:(void(^)(NSError *_Nullable))completion;
@end
NS_ASSUME_NONNULL_END

View file

@ -602,4 +602,14 @@ NSObject<FlutterMessageCodec> *CastFlutterApiGetCodec() {
completion(nil);
}];
}
- (void)onProgressUpdatedProgressMs:(NSNumber *)arg_progressMs durationMs:(NSNumber *)arg_durationMs completion:(void(^)(NSError *_Nullable))completion {
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.CastFlutterApi.onProgressUpdated"
binaryMessenger:self.binaryMessenger
codec:CastFlutterApiGetCodec()];
[channel sendMessage:@[arg_progressMs, arg_durationMs] reply:^(id reply) {
completion(nil);
}];
}
@end

View file

@ -404,6 +404,7 @@ abstract class CastFlutterApi {
void onSendingRemoteMediaRequest();
void onAdBreakStatusUpdated();
void onMediaError();
void onProgressUpdated(int progressMs, int durationMs);
static void setup(CastFlutterApi? api) {
{
const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
@ -658,5 +659,23 @@ abstract class CastFlutterApi {
});
}
}
{
const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.CastFlutterApi.onProgressUpdated', codec);
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;
});
}
}
}
}

View file

@ -251,5 +251,7 @@ abstract class CastFlutterApi {
void onSendingRemoteMediaRequest();
void onAdBreakStatusUpdated();
void onMediaError();
void onProgressUpdated(int progressMs, int durationMs);
//endregion
}