File tree 3 files changed +15
-10
lines changed
3 files changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -492,7 +492,7 @@ class _MyAppState extends State<MyApp> {
492
492
}
493
493
494
494
void observerQuery (List <String > identifiers) async {
495
- final sub = HealthKitReporter .observerQuery (identifiers, _predicate ,
495
+ final sub = HealthKitReporter .observerQuery (identifiers, null ,
496
496
onUpdate: (identifier) async {
497
497
print ('Updates for observerQuerySub - $identifier ' );
498
498
print (identifier);
Original file line number Diff line number Diff line change @@ -21,16 +21,19 @@ public final class ObserverQueryStreamHandler: NSObject {
21
21
extension ObserverQueryStreamHandler : StreamHandlerProtocol {
22
22
public func setQueries( arguments: [ String : Any ] , events: @escaping FlutterEventSink ) throws {
23
23
guard
24
- let identifiers = arguments [ " identifiers " ] as? [ String ] ,
25
- let startTimestamp = arguments [ " startTimestamp " ] as? Double ,
26
- let endTimestamp = arguments [ " endTimestamp " ] as? Double
24
+ let identifiers = arguments [ " identifiers " ] as? [ String ]
27
25
else {
28
26
return
29
27
}
30
- let predicate = NSPredicate . samplesPredicate (
31
- startDate: Date . make ( from: startTimestamp) ,
32
- endDate: Date . make ( from: endTimestamp)
33
- )
28
+ var predicate : NSPredicate ?
29
+ if
30
+ let startTimestamp = arguments [ " startTimestamp " ] as? Double ,
31
+ let endTimestamp = arguments [ " endTimestamp " ] as? Double {
32
+ predicate = NSPredicate . samplesPredicate (
33
+ startDate: Date . make ( from: startTimestamp) ,
34
+ endDate: Date . make ( from: endTimestamp)
35
+ )
36
+ }
34
37
for identifier in identifiers {
35
38
guard let type = identifier. objectType as? SampleType else {
36
39
return
Original file line number Diff line number Diff line change @@ -164,12 +164,14 @@ class HealthKitReporter {
164
164
/// Provide the [predicate] to set the date interval.
165
165
///
166
166
static StreamSubscription <dynamic > observerQuery (
167
- List <String > identifiers, Predicate predicate,
167
+ List <String > identifiers, Predicate ? predicate,
168
168
{required Function (String ) onUpdate}) {
169
169
final arguments = < String , dynamic > {
170
170
'identifiers' : identifiers,
171
171
};
172
- arguments.addAll (predicate.map);
172
+ if (predicate != null ) {
173
+ arguments.addAll (predicate.map);
174
+ }
173
175
return _observerQueryChannel
174
176
.receiveBroadcastStream (arguments)
175
177
.listen ((event) {
You can’t perform that action at this time.
0 commit comments