more on events, and initialize remote page
This commit is contained in:
parent
bf81f362f0
commit
ee64faf082
@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'common.dart';
|
import 'common.dart';
|
||||||
|
import 'remote_page.dart';
|
||||||
|
|
||||||
class HomePage extends StatefulWidget {
|
class HomePage extends StatefulWidget {
|
||||||
HomePage({Key key, this.title}) : super(key: key);
|
HomePage({Key key, this.title}) : super(key: key);
|
||||||
@ -12,13 +13,13 @@ class HomePage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _HomePageState extends State<HomePage> {
|
class _HomePageState extends State<HomePage> {
|
||||||
final idController = TextEditingController();
|
final _idController = TextEditingController();
|
||||||
FfiModel ffi;
|
FfiModel _ffi;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
ffi = Provider.of<FfiModel>(context);
|
_ffi = Provider.of<FfiModel>(context);
|
||||||
idController.text = ffi.getId();
|
_idController.text = _ffi.getId();
|
||||||
|
|
||||||
// This method is rerun every time setState is called
|
// This method is rerun every time setState is called
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@ -40,7 +41,14 @@ class _HomePageState extends State<HomePage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void onConnect() {
|
void onConnect() {
|
||||||
ffi.connect(idController.text);
|
var id = _idController.text.trim();
|
||||||
|
if (id == "") return;
|
||||||
|
Navigator.push<dynamic>(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute<dynamic>(
|
||||||
|
builder: (BuildContext context) => RemotePage(id: id),
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget getSearchBarUI() {
|
Widget getSearchBarUI() {
|
||||||
@ -89,7 +97,7 @@ class _HomePageState extends State<HomePage> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
autofocus: false,
|
autofocus: false,
|
||||||
controller: idController,
|
controller: _idController,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -112,7 +120,7 @@ class _HomePageState extends State<HomePage> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
idController.dispose();
|
_idController.dispose();
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
25
flutter_hbb/lib/remote_page.dart
Normal file
25
flutter_hbb/lib/remote_page.dart
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
import 'common.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
|
class RemotePage extends StatefulWidget {
|
||||||
|
RemotePage({Key key, this.id}) : super(key: key);
|
||||||
|
|
||||||
|
final String id;
|
||||||
|
|
||||||
|
@override
|
||||||
|
_RemotePageState createState() => _RemotePageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _RemotePageState extends State<RemotePage> {
|
||||||
|
FfiModel _ffi;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
_ffi = Provider.of<FfiModel>(context);
|
||||||
|
_ffi.connect(widget.id);
|
||||||
|
// https://stackoverflow.com/questions/46640116/make-flutter-application-fullscreen
|
||||||
|
SystemChrome.setEnabledSystemUIOverlays([]);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user