Newer
Older
import 'package:flutter/services.dart';
import 'dart:async';
import 'dart:developer';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:uni_links/uni_links.dart';
Future<Widget> initApplication() async {
Uri initialUri;
try {
initialUri = await getInitialUri();
} on PlatformException {
initialUri = null;
} on FormatException {
initialUri = null;
}
final prefs = await SharedPreferences.getInstance();
final host = prefs.getString('host');
return new MainApp(initialUri: initialUri, initialHost: host);
Widget build(BuildContext context) {
return MaterialApp(
title: 'Vereign',
theme: ThemeData(
primaryColor: Color(0xFFd51d32),
fontFamily: "Arial",
textTheme: TextTheme(
button: TextStyle(color: Colors.white, fontSize: 18.0),
title: TextStyle(color: Colors.red))),
home: new SplashScreen(
)
);
}
}
class MainApp extends StatefulWidget {
MainApp({ @required this.initialUri, this.initialHost });
@override
_MainAppState createState() => _MainAppState();
// Url of the app which invoked OAuth
String _invokerURL;
@override
initState() {
super.initState();
initUniLinks();
}
@override
dispose() {
if (_sub != null) _sub.cancel();
super.dispose();
}
Future<Null> initUniLinks() async {
_sub = getUriLinksStream().listen((Uri uri) {
updateAppMode(uri);
}, onError: (err) {
log('got err: $err');
});
}
});
} else {
setState(() {
_appMode = "app";
});
}
}
setMode(String mode) {
setState(() {
_appMode = mode;
});
}
return new Scaffold(
appBar: new AppBar(title: Text("Vereign")),
body: Home(
mode: _appMode,
invokerURL: _invokerURL,
setMode: setMode,