diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index bc60e9ce..66407cbd 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -14,7 +14,8 @@ android:label="FREHub" tools:replace="android:label" android:icon="@mipmap/ic_launcher" - android:requestLegacyExternalStorage="true"> + android:requestLegacyExternalStorage="true" + android:usesCleartextTraffic="true"> 'https://freaccess.com.br/freaccess'; - // static String getBaseUrl() => 'http://192.168.2.204:8080'; static Map headers = {}; static LoginCall loginCall = LoginCall(); static UpdToken updToken = UpdToken(); diff --git a/lib/pages/fast_pass_page/fast_pass_page_widget.dart b/lib/pages/fast_pass_page/fast_pass_page_widget.dart index bd2bfb8e..91130bc2 100644 --- a/lib/pages/fast_pass_page/fast_pass_page_widget.dart +++ b/lib/pages/fast_pass_page/fast_pass_page_widget.dart @@ -54,12 +54,9 @@ class _FastPassPageWidgetState extends State { _controllerIOS = controller; }, onLoadStop: (controller, url) async { - await controller.evaluateJavascript( - source: - "window.localStorage.setItem('fre-token', '\"${widget.freToken}\"')"); - await controller.evaluateJavascript( - source: - "window.localStorage.setItem('fre-user-data', '${widget.freUserData}')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-token', '\"${widget.freToken}\"')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-user-data', '${widget.freUserData}')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('enableBackButton', 'true')"); }, ) : WebViewWidget( @@ -72,13 +69,13 @@ class _FastPassPageWidgetState extends State { NavigationDelegate( onProgress: (int progress) {}, onPageStarted: (String url) { - final String token = - "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; - final String data = - "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; + final String token = "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; + final String data = "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; + const String backNavigation = "localStorage.setItem('enableBackButton', 'true');"; _controllerAll.runJavaScript(token); _controllerAll.runJavaScript(data); + _controllerAll.runJavaScript(backNavigation); }, onNavigationRequest: (NavigationRequest request) { if (request.url.startsWith('http') || diff --git a/lib/pages/reservation_page/reservation_page_widget.dart b/lib/pages/reservation_page/reservation_page_widget.dart index 87eab3f6..ec8dd7f5 100644 --- a/lib/pages/reservation_page/reservation_page_widget.dart +++ b/lib/pages/reservation_page/reservation_page_widget.dart @@ -1,3 +1,5 @@ +import 'dart:developer'; + import 'package:hub/app_state.dart'; import 'package:flutter/material.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; @@ -54,14 +56,15 @@ class _ReservationPageWidgetState extends State { _controllerIOS = controller; }, onLoadStop: (controller, url) async { - await controller.evaluateJavascript( - source: - "window.localStorage.setItem('fre-token', '\"${widget.freToken}\"')"); - await controller.evaluateJavascript( - source: - "window.localStorage.setItem('fre-user-data', '${widget.freUserData}')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-token', '\"${widget.freToken}\"')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-user-data', '${widget.freUserData}')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('enableBackButton', 'true')"); + }, + onUpdateVisitedHistory: (controller, uri, isVisited) { + if (uri.toString().contains('/hub/home')) { + Navigator.pop(context); + } }, - ) : WebViewWidget( controller: _controllerAll = WebViewController() @@ -73,13 +76,13 @@ class _ReservationPageWidgetState extends State { NavigationDelegate( onProgress: (int progress) {}, onPageStarted: (String url) { - final String token = - "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; - final String data = - "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; + final String token = "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; + final String data = "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; + const String backNavigation = "localStorage.setItem('enableBackButton', 'true');"; _controllerAll.runJavaScript(token); _controllerAll.runJavaScript(data); + _controllerAll.runJavaScript(backNavigation); }, onNavigationRequest: (NavigationRequest request) { if (request.url.startsWith('http') || @@ -91,6 +94,11 @@ class _ReservationPageWidgetState extends State { } return NavigationDecision.prevent; }, + onUrlChange: (url) { + if (url.url.toString().contains('/hub/home')) { + Navigator.pop(context); + } + } ), ) ..loadRequest(Uri.parse(url)),