diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 30ff88c9d9395a34bdd0c49a85f281ca2e146010..bd06ac5cd231dc7721a5403cc8c72c1202e7baf7 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -28,9 +28,18 @@ <key>CFBundleURLSchemes</key> <array> <string>app://com.vereign.app/oauth2</string> - <string>vereign://app.vereign.com</string> </array> </dict> + <dict> + <key>CFBundleTypeRole</key> + <string>Editor</string> + <key>CFBundleURLName</key> + <string>com.vereign.app/auhtorize</string> + <key>CFBundleURLSchemes</key> + <array> + <string>app</string> + </array> + </dict> </array> <key>CFBundleVersion</key> <string>$(FLUTTER_BUILD_NUMBER)</string> diff --git a/lib/app.dart b/lib/app.dart index 18e116547c5e3c681e2e9c01516c2d0ff47d72e7..76cc0a71fbb2b360263a256e17264608a30f94fc 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -54,7 +54,7 @@ class _AppState extends State<App> { updateAppMode(Uri uri) { log("Uri $uri"); - if (uri?.path == "/oauth2") { + if (uri?.path == "/auhtorize") { setState(() { _appMode = "oauth"; _invokerURL = uri.queryParameters["invokerUrl"]; @@ -66,6 +66,12 @@ class _AppState extends State<App> { } } + setMode(String mode) { + setState(() { + _appMode = mode; + }); + } + @override Widget build(BuildContext context) { return MaterialApp( @@ -80,7 +86,8 @@ class _AppState extends State<App> { appBar: new AppBar(), body: Home( mode: _appMode, - invokerURL: _invokerURL + invokerURL: _invokerURL, + setMode: setMode ) ), ); diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 4e85c7b73115d523675152a3651098e98e253490..17abd34c3aac7546509260e82859ac297f7d7bf4 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -6,9 +6,10 @@ import 'dart:developer'; import 'dart:convert'; class Home extends StatefulWidget { - Home({@required this.mode, @required this.invokerURL}); + Home({@required this.mode, @required this.invokerURL, @required this.setMode}); final String mode; final String invokerURL; + final void Function(String) setMode; @override _HomeState createState() => _HomeState(); @@ -46,13 +47,8 @@ class _HomeState extends State<Home> { child: Text('Go back'), onPressed: () async { Navigator.of(context).pop(); - - log('Try launch ${widget.invokerURL}'); - if (await canLaunch(widget.invokerURL)) { - await launch("${widget.invokerURL}?token=$token"); - } else { - log('Could not launch ${widget.invokerURL}'); - } + widget.setMode(""); + await launch("${widget.invokerURL}?token=$token"); }, ), ],