Improve webview override url loading

This commit is contained in:
Igor Kulikov
2021-05-11 16:47:46 +03:00
parent 4c586e15e7
commit a1bb0345ca

View File

@@ -119,11 +119,26 @@ class _DashboardState extends TbContextState<Dashboard, _DashboardState> {
shouldOverrideUrlLoading: (controller, navigationAction) async {
var uri = navigationAction.request.url!;
var uriString = uri.toString();
log.debug('disallowing navigation to $uriString');
if (!uriString.startsWith(thingsBoardApiEndpoint) && await canLaunch(uriString)) {
await launch(uriString);
log.debug('shouldOverrideUrlLoading $uriString');
if (![
"http",
"https",
"file",
"chrome",
"data",
"javascript",
"about"
].contains(uri.scheme)) {
if (await canLaunch(uriString)) {
// Launch the App
await launch(
uriString,
);
// and cancel the request
return NavigationActionPolicy.CANCEL;
}
}
return NavigationActionPolicy.CANCEL;
return NavigationActionPolicy.ALLOW;
},
onUpdateVisitedHistory: (controller, url, androidIsReload) async {
if (url != null) {