add matrix: URI deeplinking
Fixes #148 Needs cross-platform testing, currently only tested on Android.
This commit is contained in:
parent
9e1d2f6921
commit
51e3fe1007
1 changed files with 108 additions and 45 deletions
21
lib/controllers/link_request.dart
Normal file
21
lib/controllers/link_request.dart
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import "package:app_links/app_links.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:nexus/helpers/extensions/get_link_info.dart";
|
||||
|
||||
class LinkRequestController extends Notifier<LinkInfo?> {
|
||||
@override
|
||||
LinkInfo? build() {
|
||||
final subscription = AppLinks().uriLinkStream.listen((uri) {
|
||||
if (uri.toString().linkInfo case final linkInfo?) state = linkInfo;
|
||||
});
|
||||
ref.onDispose(subscription.cancel);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
void consume() => state = null;
|
||||
|
||||
static final provider = NotifierProvider<LinkRequestController, LinkInfo?>(
|
||||
LinkRequestController.new,
|
||||
);
|
||||
}
|
||||
Loading…
Reference in a new issue