mirror of https://github.com/flutter/samples.git
Simplify experimental pedometer example (#2104)
Since ffigen added support for [`NativeCallable.listener`](https://api.flutter.dev/flutter/dart-ffi/NativeCallable/NativeCallable.listener.html) to its ObjC bindings, this example can be simplified. We can replace the `Dart_Port` logic with `ObjCBlock.listener`, which lets us get rid of most of the native code. We still need a small bit of native code to `retain` a reference to the callback's arguments before invoking the listener, otherwise the arguments may be ref counted and deleted before the Dart side of the callback is invoked. See https://github.com/dart-lang/native/issues/835pull/2106/head
parent
e598d6a771
commit
f0e6da6d24
File diff suppressed because it is too large
Load Diff
@ -1,15 +1,7 @@
|
||||
#import <CoreMotion/CoreMotion.h>
|
||||
#import <CoreMotion/CMPedometer.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <Foundation/NSDate.h>
|
||||
|
||||
#include "dart-sdk/include/dart_api_dl.h"
|
||||
|
||||
@interface PedometerHelper : NSObject
|
||||
|
||||
+ (void) startPedometerWithPort: (Dart_Port) sendPort
|
||||
pedometer: (CMPedometer*) pedometer
|
||||
start: (NSDate*) start
|
||||
end: (NSDate*) end;
|
||||
|
||||
@end
|
||||
// TODO(https://github.com/dart-lang/native/issues/835): Generate this wrapper
|
||||
// automatically.
|
||||
CMPedometerHandler wrapCallback(CMPedometerHandler callback);
|
||||
|
Loading…
Reference in new issue