implemented intent receiver

This commit is contained in:
Fabian Freund
2025-05-05 14:30:07 +02:00
parent 213a239a4d
commit a2d59e2e39
19 changed files with 569 additions and 242 deletions
@@ -0,0 +1,33 @@
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:simple_intent_receiver/src/pigeons/intent.g.dart';
class IntentReceiver extends IntentEvents {
final _controller = StreamController<Intent>();
int? _lastAdded;
Stream<Intent> get events => _controller.stream;
@override
void onIntentReceived(int timestamp, Intent intent) {
if (_lastAdded == null || timestamp > _lastAdded!) {
_controller.add(intent);
}
}
IntentReceiver.setUp({
BinaryMessenger? binaryMessenger,
String messageChannelSuffix = '',
}) {
IntentEvents.setUp(
this,
binaryMessenger: binaryMessenger,
messageChannelSuffix: messageChannelSuffix,
);
}
Future<void> dispose() async {
await _controller.close();
}
}