gestures method
Implementation
@override
Stream<Gesture> gestures() {
if (controller != null) {
return controller!.stream;
}
if (Platform.isAndroid) {
controller = StreamController<Gesture>(onListen: () async {
HardwareKeyboard.instance.addHandler(handleKeyboard);
}, onCancel: () {
HardwareKeyboard.instance.removeHandler(handleKeyboard);
controller = null;
});
return controller!.stream;
}
controller = StreamController<Gesture>(onListen: () async {
events?.cancel();
events ??= eventChannel.receiveBroadcastStream().listen((data) {
controller?.add(
Gesture.values.byName((data["data"] as String).toLowerCase()));
});
}, onCancel: () {
events?.cancel();
events = null;
controller = null;
});
return controller!.stream;
}