add daemon info

master
fuwa 5 years ago
parent a910bd9b2b
commit 76bb010305

@ -93,6 +93,23 @@ Future<http.Response> getInfo() async {
return rpc('get_info'); return rpc('get_info');
} }
Future<String> getInfoString() async {
var response = await getInfo();
if (response == null) return '';
if (response.statusCode != 200) {
return '';
} else {
final _getInfo = json.decode(response.body)['result'];
JsonEncoder encoder = new JsonEncoder.withIndent(' ');
String _prettyInfo = encoder.convert(_getInfo);
return _prettyInfo;
}
}
Future<bool> offline() async { Future<bool> offline() async {
var response = await getInfo(); var response = await getInfo();

@ -197,6 +197,7 @@ class SyncedState extends HookedState {
Stream<String> processOutput; Stream<String> processOutput;
bool synced = true; bool synced = true;
bool connected = true; bool connected = true;
String daemonInfo = 'daemonInfo';
SyncedState(f, s, this.stdout, this.processOutput) : super (f, s); SyncedState(f, s, this.stdout, this.processOutput) : super (f, s);
@ -223,6 +224,7 @@ class SyncedState extends HookedState {
// print('synced loop'); // print('synced loop');
height = await rpc.height(); height = await rpc.height();
connected = await daemon.isConnected(); connected = await daemon.isConnected();
daemonInfo = await rpc.getInfoString();
syncState(); syncState();
} }
} }

@ -93,7 +93,37 @@ Widget summary(SyncedState state) {
Widget helloPage(SyncedState state) { Widget helloPage(SyncedState state) {
return Container return Container
( (
child: Text('HelloPage'), padding: const EdgeInsets.all(10.0),
color: config.backgroundColor,
child: Align
(
alignment: Alignment.topLeft,
child: Column
(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>
[
Expanded
(
flex: 1,
child: SingleChildScrollView
(
scrollDirection: Axis.vertical,
child: Text
(
state.daemonInfo,
style: TextStyle
(
fontFamily: 'RobotoMono',
fontSize: 11,
color: config.textColor,
),
)
)
)
],
),
),
); );
} }
@ -102,8 +132,8 @@ Widget pageView (SyncedState state, PageController controller) {
controller: controller, controller: controller,
children: children:
[ [
summary(state),
helloPage(state), helloPage(state),
summary(state),
], ],
); );
} }

Loading…
Cancel
Save