update dialog,use flutter_smart_dialog

This commit is contained in:
csf
2022-04-19 13:07:45 +08:00
parent 24bc515061
commit 85c3dbdf7f
13 changed files with 278 additions and 280 deletions

View File

@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_hbb/models/file_model.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:provider/provider.dart';
import 'package:flutter_breadcrumb/flutter_breadcrumb.dart';
import 'package:toggle_switch/toggle_switch.dart';
@@ -27,10 +27,12 @@ class _FileManagerPageState extends State<FileManagerPage> {
@override
void initState() {
super.initState();
showLoading(translate('Connecting...'));
FFI.connect(widget.id, isFileTransfer: true);
_interval = Timer.periodic(
Duration(milliseconds: 30), (timer) => FFI.ffiModel.update(widget.id));
WidgetsBinding.instance!.addPostFrameCallback((_) {
showLoading(translate('Connecting...'));
_interval = Timer.periodic(
Duration(milliseconds: 30), (timer) => FFI.ffiModel.update(widget.id));
});
}
@override
@@ -38,7 +40,7 @@ class _FileManagerPageState extends State<FileManagerPage> {
model.onClose();
_interval?.cancel();
FFI.close();
EasyLoading.dismiss();
SmartDialog.dismiss();
super.dispose();
}

View File

@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_hbb/models/chat_model.dart';
import 'package:flutter_hbb/widgets/gesture_help.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:provider/provider.dart';
import 'package:flutter/services.dart';
import 'dart:ui' as ui;
@@ -58,7 +58,7 @@ class _RemotePageState extends State<RemotePage> {
FFI.close();
_interval?.cancel();
_timer?.cancel();
EasyLoading.dismiss();
SmartDialog.dismiss();
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: SystemUiOverlay.values);
Wakelock.disable();
@@ -800,7 +800,7 @@ void showOptions() {
onTap: () {
if (i == cur) return;
FFI.setByName('switch_display', i.toString());
DialogManager.reset();
SmartDialog.dismiss();
},
child: Ink(
width: 40,

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_hbb/models/model.dart';
import 'package:flutter_hbb/widgets/dialog.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:provider/provider.dart';
import '../common.dart';
@@ -322,7 +323,7 @@ class ConnectionManager extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
clientInfo(entry.value),
entry.value.isFileTransfer
entry.value.isFileTransfer || !entry.value.authorized
? SizedBox.shrink()
: IconButton(
onPressed: () {
@@ -339,16 +340,33 @@ class ConnectionManager extends StatelessWidget {
))
],
),
ElevatedButton.icon(
entry.value.authorized?SizedBox.shrink():Text(
translate("android_new_connection_tip"),
style: TextStyle(color: Colors.black54),
),
entry.value.authorized? ElevatedButton.icon(
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all(Colors.red)),
MaterialStateProperty.all(Colors.red)),
icon: Icon(Icons.close),
onPressed: () {
FFI.setByName("close_conn", entry.key.toString());
FFI.invokeMethod("cancel_notification", entry.key);
},
label: Text(translate("Close")))
label: Text(translate("Close"))):
Row(children: [
TextButton(
child: Text(translate("Dismiss")),
onPressed: () {
serverModel.sendLoginResponse(entry.value,false);
}),
SizedBox(width: 20),
ElevatedButton(
child: Text(translate("Accept")),
onPressed: () {
serverModel.sendLoginResponse(entry.value,true);
}),
]),
],
)))
.toList());
@@ -436,7 +454,7 @@ void toAndroidChannelInit() {
switch (method) {
case "start_capture":
{
DialogManager.reset();
SmartDialog.dismiss();
FFI.serverModel.updateClientState();
break;
}

View File

@@ -1,4 +1,3 @@
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:settings_ui/settings_ui.dart';
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -226,8 +225,7 @@ void logout() async {
},
body: json.encode(body));
} catch (e) {
EasyLoading.showToast('Failed to access $url',
maskType: EasyLoadingMaskType.black);
showToast('Failed to access $url');
}
resetToken();
}