at_location_flutter 0.0.2 at_location_flutter: ^0.0.2 copied to clipboard
A flutter plugin project to share location between two atsigns and track them on OSM (open street maps).
import 'package:at_location_flutter_example/client_sdk_service.dart';
import 'package:flutter/material.dart';
import 'package:atsign_authentication_helper/atsign_authentication_helper.dart';
import 'package:at_location_flutter_example/second_screen.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
ClientSdkService clientSdkService = ClientSdkService.getInstance();
@override
void initState() {
clientSdkService.onboard();
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.light(),
navigatorKey: NavService.navKey,
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Builder(
builder: (context) => Column(
children: [
Container(
padding: EdgeInsets.all(10.0),
child: Center(
child: Text(
'A client service should create an atClient instance and call onboard method before navigating to QR scanner screen',
textAlign: TextAlign.center),
)),
Center(
child: FlatButton(
color: Colors.black12,
onPressed: () async {
await Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => ScanQrScreen(
atClientServiceInstance: clientSdkService
.atClientServiceInstance,
atClientPreference:
clientSdkService.atClientPreference,
nextScreen: SecondScreen())));
},
child: Text('Show QR scanner screen'))),
SizedBox(
height: 25,
),
Center(
child: FlatButton(
color: Colors.black12,
onPressed: () async {
await Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => SecondScreen()));
},
child: Text('Already authenticated'))),
],
),
)),
);
}
}
class NavService {
static GlobalKey<NavigatorState> navKey = GlobalKey();
}