diff --git a/flutter_hbb/lib/common.dart b/flutter_hbb/lib/common.dart index 9c93e513c..cf07bdf6f 100644 --- a/flutter_hbb/lib/common.dart +++ b/flutter_hbb/lib/common.dart @@ -13,7 +13,10 @@ class MyTheme { static const Color border = Color(0xFFCCCCCC); } -void showLoading(String text) { +void showLoading(String text, BuildContext context) { + if (_hasDialog) { + Navigator.pop(context); + } dismissLoading(); EasyLoading.show(status: text); } diff --git a/flutter_hbb/lib/model.dart b/flutter_hbb/lib/model.dart index ef755bd14..b3ef083c1 100644 --- a/flutter_hbb/lib/model.dart +++ b/flutter_hbb/lib/model.dart @@ -86,7 +86,7 @@ class FfiModel with ChangeNotifier { if (name == 'msgbox') { handleMsgbox(evt, id, context); } else if (name == 'peer_info') { - handlePeerInfo(evt); + handlePeerInfo(evt, context); } else if (name == 'switch_display') { handleSwitchDisplay(evt); } else if (name == 'cursor_data') { @@ -155,7 +155,7 @@ class FfiModel with ChangeNotifier { notifyListeners(); } - void handlePeerInfo(Map<String, dynamic> evt) { + void handlePeerInfo(Map<String, dynamic> evt, BuildContext context) { dismissLoading(); _pi.username = evt['username']; _pi.hostname = evt['hostname']; @@ -178,7 +178,7 @@ class FfiModel with ChangeNotifier { FFI.cursorModel.updateDisplayOrigin(_display.x, _display.y); } if (displays.length > 0) { - showLoading('Waiting for image...'); + showLoading('Waiting for image...', context); _waitForImage = true; } } @@ -578,8 +578,10 @@ class FFI { _dir = (await getApplicationDocumentsDirectory()).path; DeviceInfoPlugin deviceInfo = DeviceInfoPlugin(); AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo; - print( - '${androidInfo.product} ${androidInfo.brand} ${androidInfo.device} ${androidInfo.model} ${androidInfo.brand} ${androidInfo.manufacturer}'); + final name = '${androidInfo.brand}-${androidInfo.model}'; + final id = androidInfo.id; + setByName('info1', id); + setByName('info2', name); setByName('init', _dir); } } diff --git a/flutter_hbb/lib/remote_page.dart b/flutter_hbb/lib/remote_page.dart index 19f92074e..641c5fddb 100644 --- a/flutter_hbb/lib/remote_page.dart +++ b/flutter_hbb/lib/remote_page.dart @@ -41,7 +41,7 @@ class _RemotePageState extends State<RemotePage> { FFI.connect(widget.id); WidgetsBinding.instance.addPostFrameCallback((_) { SystemChrome.setEnabledSystemUIOverlays([]); - showLoading('Connecting...'); + showLoading('Connecting...', context); _interval = Timer.periodic(Duration(milliseconds: 30), (timer) => interval()); }); @@ -530,7 +530,7 @@ void enterPasswordDialog(String id, BuildContext context) { var text = controller.text.trim(); if (text == '') return; FFI.login(text, remember); - showLoading('Logging in...'); + showLoading('Logging in...', context); Navigator.pop(context); }, child: Text('OK'),