Skip to content

Commit b2fc8b9

Browse files
Minor adjustments
- Add a missing nullability specifier. - Use simplified nullability annotations when possible. - clang-format using project style file. - Add braces to conditionals to match project style. - Add new header to umbrella header.
1 parent d591691 commit b2fc8b9

File tree

3 files changed

+69
-65
lines changed

3 files changed

+69
-65
lines changed

library/macos/FLEEventChannel.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ extern NSString const *_Nonnull FLEEndOfEventStream;
3535
@protocol FLEStreamHandler
3636

3737
/**
38-
* Sets up an event stream and begin emitting events.
38+
* Sets up an event stream and begins emitting events.
3939
*
4040
* Invoked when the first listener is registered with the Stream associated to
4141
* this channel on the Flutter side.
@@ -48,8 +48,8 @@ extern NSString const *_Nonnull FLEEndOfEventStream;
4848
* successful events.
4949
* @return A FLEMethodError instance, if setup fails.
5050
*/
51-
- (nullable FLEMethodError *)onListenWithArguments:(id _Nullable)arguments
52-
eventSink:(FLEEventSink)events;
51+
- (nullable FLEMethodError *)onListenWithArguments:(nullable id)arguments
52+
eventSink:(FLEEventSink _Nonnull)events;
5353

5454
/**
5555
* Tears down an event stream.
@@ -64,7 +64,7 @@ extern NSString const *_Nonnull FLEEndOfEventStream;
6464
* @param arguments Arguments for the stream.
6565
* @return A FLEMethodError instance, if teardown fails.
6666
*/
67-
- (nullable FLEMethodError *)onCancelWithArguments:(id _Nullable)arguments;
67+
- (nullable FLEMethodError *)onCancelWithArguments:(nullable id)arguments;
6868

6969
@end
7070

library/macos/FLEEventChannel.m

Lines changed: 64 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -17,83 +17,86 @@
1717
NSString const *FLEEndOfEventStream = @"EndOfEventStream";
1818

1919
@implementation FLEEventChannel {
20-
NSString *_name;
21-
__weak id<FLEBinaryMessenger> _messenger;
22-
id<FLEMethodCodec> _codec;
20+
NSString *_name;
21+
__weak id<FLEBinaryMessenger> _messenger;
22+
id<FLEMethodCodec> _codec;
2323
}
2424

2525
+ (instancetype)eventChannelWithName:(NSString *)name
2626
binaryMessenger:(id<FLEBinaryMessenger>)messenger
2727
codec:(id<FLEMethodCodec>)codec {
28-
return [[[self class] alloc] initWithName:name binaryMessenger:messenger codec:codec];
28+
return [[[self class] alloc] initWithName:name binaryMessenger:messenger codec:codec];
2929
}
3030

3131
- (instancetype)initWithName:(NSString *)name
3232
binaryMessenger:(id<FLEBinaryMessenger>)messenger
3333
codec:(id<FLEMethodCodec>)codec {
34-
self = [super init];
35-
if (self) {
36-
_name = [name copy];
37-
_messenger = messenger;
38-
_codec = codec;
39-
}
40-
return self;
34+
self = [super init];
35+
if (self) {
36+
_name = [name copy];
37+
_messenger = messenger;
38+
_codec = codec;
39+
}
40+
return self;
4141
}
4242

4343
- (void)setStreamHandler:(NSObject<FLEStreamHandler> *)handler {
44-
if (!handler) {
45-
[_messenger setMessageHandlerOnChannel:_name binaryMessageHandler:nil];
46-
return;
47-
}
44+
if (!handler) {
45+
[_messenger setMessageHandlerOnChannel:_name binaryMessageHandler:nil];
46+
return;
47+
}
4848

49-
id<FLEMethodCodec> codec = _codec;
50-
__weak id<FLEBinaryMessenger> messenger = _messenger;
51-
NSString *name = _name;
52-
FLEEventSink eventSink = ^(id event) {
53-
if (event == FLEEndOfEventStream)
54-
[messenger sendOnChannel:name message:nil];
55-
else if ([event isKindOfClass:[FLEMethodError class]])
56-
[messenger sendOnChannel:name
57-
message:[codec encodeErrorEnvelope:(FLEMethodError *)event]];
58-
else
59-
[messenger sendOnChannel:name message:[codec encodeSuccessEnvelope:event]];
60-
};
49+
id<FLEMethodCodec> codec = _codec;
50+
__weak id<FLEBinaryMessenger> messenger = _messenger;
51+
NSString *name = _name;
52+
FLEEventSink eventSink = ^(id event) {
53+
if (event == FLEEndOfEventStream) {
54+
[messenger sendOnChannel:name message:nil];
55+
} else if ([event isKindOfClass:[FLEMethodError class]]) {
56+
[messenger sendOnChannel:name message:[codec encodeErrorEnvelope:(FLEMethodError *)event]];
57+
} else {
58+
[messenger sendOnChannel:name message:[codec encodeSuccessEnvelope:event]];
59+
}
60+
};
6161

62-
__block FLEEventSink currentSink = nil;
63-
FLEBinaryMessageHandler messageHandler = ^(NSData *message, FLEBinaryReply callback) {
64-
FLEMethodCall* call = [codec decodeMethodCall:message];
65-
if ([call.methodName isEqual:@"listen"]) {
66-
if (currentSink) {
67-
FLEMethodError* error = [handler onCancelWithArguments:nil];
68-
if (error)
69-
NSLog(@"Failed to cancel existing stream: %@. %@ (%@)", error.code, error.message,
70-
error.details);
71-
}
72-
currentSink = eventSink;
73-
FLEMethodError *error = [handler onListenWithArguments:call.arguments eventSink:currentSink];
74-
if (error)
75-
callback([codec encodeErrorEnvelope:error]);
76-
else
77-
callback([codec encodeSuccessEnvelope:nil]);
78-
} else if ([call.methodName isEqual:@"cancel"]) {
79-
if (!currentSink) {
80-
callback(
81-
[codec encodeErrorEnvelope:[[FLEMethodError alloc] initWithCode:@"error"
82-
message:@"No active stream to cancel"
83-
details:nil]]);
84-
return;
85-
}
86-
currentSink = nil;
87-
FLEMethodError *error = [handler onCancelWithArguments:call.arguments];
88-
if (error)
89-
callback([codec encodeErrorEnvelope:error]);
90-
else
91-
callback([codec encodeSuccessEnvelope:nil]);
92-
} else {
93-
callback(nil);
62+
__block FLEEventSink currentSink = nil;
63+
FLEBinaryMessageHandler messageHandler = ^(NSData *message, FLEBinaryReply callback) {
64+
FLEMethodCall *call = [codec decodeMethodCall:message];
65+
if ([call.methodName isEqual:@"listen"]) {
66+
if (currentSink) {
67+
FLEMethodError *error = [handler onCancelWithArguments:nil];
68+
if (error) {
69+
NSLog(@"Failed to cancel existing stream: %@. %@ (%@)", error.code, error.message,
70+
error.details);
9471
}
95-
};
96-
[_messenger setMessageHandlerOnChannel:_name binaryMessageHandler:messageHandler];
72+
}
73+
currentSink = eventSink;
74+
FLEMethodError *error = [handler onListenWithArguments:call.arguments eventSink:currentSink];
75+
if (error) {
76+
callback([codec encodeErrorEnvelope:error]);
77+
} else {
78+
callback([codec encodeSuccessEnvelope:nil]);
79+
}
80+
} else if ([call.methodName isEqual:@"cancel"]) {
81+
if (!currentSink) {
82+
callback([codec
83+
encodeErrorEnvelope:[[FLEMethodError alloc] initWithCode:@"error"
84+
message:@"No active stream to cancel"
85+
details:nil]]);
86+
return;
87+
}
88+
currentSink = nil;
89+
FLEMethodError *error = [handler onCancelWithArguments:call.arguments];
90+
if (error) {
91+
callback([codec encodeErrorEnvelope:error]);
92+
} else {
93+
callback([codec encodeSuccessEnvelope:nil]);
94+
}
95+
} else {
96+
callback(nil);
97+
}
98+
};
99+
[_messenger setMessageHandlerOnChannel:_name binaryMessageHandler:messageHandler];
97100
}
98101

99102
@end

library/macos/FlutterEmbedderMac.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
#import "FLEBasicMessageChannel.h"
1616
#import "FLEBinaryMessenger.h"
17+
#import "FLEEventChannel.h"
1718
#import "FLEJSONMessageCodec.h"
1819
#import "FLEJSONMethodCodec.h"
1920
#import "FLEMessageCodec.h"

0 commit comments

Comments
 (0)