use desktop uri format for mobile

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
This commit is contained in:
Sahil Yeole 2023-11-03 01:46:51 +05:30
parent 49205b604c
commit 284330ed5f

View File

@ -1803,10 +1803,6 @@ Future<bool> initUniLinks() async {
if (initialLink == null) { if (initialLink == null) {
return false; return false;
} }
if (isMobile){
handleUriLinkMobile(initialLink);
return true;
}
return handleUriLink(uriString: initialLink); return handleUriLink(uriString: initialLink);
} catch (err) { } catch (err) {
debugPrintStack(label: "$err"); debugPrintStack(label: "$err");
@ -1827,7 +1823,6 @@ StreamSubscription? listenUniLinks({handleByFlutter = true}) {
final sub = uriLinkStream.listen((Uri? uri) { final sub = uriLinkStream.listen((Uri? uri) {
debugPrint("A uri was received: $uri. handleByFlutter $handleByFlutter"); debugPrint("A uri was received: $uri. handleByFlutter $handleByFlutter");
if (uri != null) { if (uri != null) {
if (!isMobile){
if (handleByFlutter) { if (handleByFlutter) {
handleUriLink(uri: uri); handleUriLink(uri: uri);
} else { } else {
@ -1835,9 +1830,6 @@ StreamSubscription? listenUniLinks({handleByFlutter = true}) {
} }
} }
else { else {
handleUriLinkMobile(uri.toString());
}
} else {
print("uni listen error: uri is empty."); print("uni listen error: uri is empty.");
} }
}, onError: (err) { }, onError: (err) {
@ -1853,14 +1845,6 @@ enum UriLinkType {
rdp, rdp,
} }
void handleUriLinkMobile(String uri) {
var context = Get.context;
var uri_id = uri.split("//").last;
if (context != null && uri_id.isNotEmpty){
connect(context, uri_id);
}
}
// uri link handler // uri link handler
bool handleUriLink({List<String>? cmdArgs, Uri? uri, String? uriString}) { bool handleUriLink({List<String>? cmdArgs, Uri? uri, String? uriString}) {
List<String>? args; List<String>? args;
@ -1980,7 +1964,7 @@ List<String>? urlLinkToCmdArgs(Uri uri) {
command = '--connect'; command = '--connect';
id = uri.path.substring("/new/".length); id = uri.path.substring("/new/".length);
} else if (['connect', "play", 'file-transfer', 'port-forward', 'rdp'] } else if (['connect', "play", 'file-transfer', 'port-forward', 'rdp']
.contains(uri.authority)) { .contains(uri.authority) && !isMobile) {
command = '--${uri.authority}'; command = '--${uri.authority}';
if (uri.path.length > 1) { if (uri.path.length > 1) {
id = uri.path.substring(1); id = uri.path.substring(1);
@ -1991,6 +1975,13 @@ List<String>? urlLinkToCmdArgs(Uri uri) {
id = uri.authority; id = uri.authority;
} }
if (isMobile){
if (id != null){
connect(Get.context!, id);
return null;
}
}
List<String> args = List.empty(growable: true); List<String> args = List.empty(growable: true);
if (command != null && id != null) { if (command != null && id != null) {
args.add(command); args.add(command);