diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart index 2e6a28613..9a3e075e5 100644 --- a/flutter/lib/common.dart +++ b/flutter/lib/common.dart @@ -21,7 +21,6 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; import 'package:texture_rgba_renderer/texture_rgba_renderer.dart'; import 'package:uni_links/uni_links.dart'; -import 'package:uni_links_desktop/uni_links_desktop.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:uuid/uuid.dart'; import 'package:win32/win32.dart' as win32; @@ -886,7 +885,7 @@ class CustomAlertDialog extends StatelessWidget { child: content, ), actions: actions, - titlePadding: MyTheme.dialogTitlePadding(content: content != null), + titlePadding: MyTheme.dialogTitlePadding(), contentPadding: MyTheme.dialogContentPadding(actions: actions is List), actionsPadding: MyTheme.dialogActionsPadding(), @@ -1264,6 +1263,9 @@ Future matchPeer(String searchText, Peer peer) async { /// Get the image for the current [platform]. Widget getPlatformImage(String platform, {double size = 50}) { + if (platform.isEmpty) { + return Container(width: size, height: size); + } if (platform == kPeerPlatformMacOS) { platform = 'mac'; } else if (platform != kPeerPlatformLinux && diff --git a/flutter/lib/common/widgets/address_book.dart b/flutter/lib/common/widgets/address_book.dart index 66cbd9cd1..2aceae508 100644 --- a/flutter/lib/common/widgets/address_book.dart +++ b/flutter/lib/common/widgets/address_book.dart @@ -164,6 +164,7 @@ class _AddressBookState extends State { alignment: Alignment.topLeft, child: Obx(() => AddressBookPeersView( menuPadding: widget.menuPadding, + // ignore: invalid_use_of_protected_member initPeers: gFFI.abModel.peers.value, ))), ); diff --git a/flutter/lib/common/widgets/my_group.dart b/flutter/lib/common/widgets/my_group.dart index 1dd254a02..2867d3bce 100644 --- a/flutter/lib/common/widgets/my_group.dart +++ b/flutter/lib/common/widgets/my_group.dart @@ -102,6 +102,7 @@ class _MyGroupState extends State { alignment: Alignment.topLeft, child: Obx(() => MyGroupPeerView( menuPadding: widget.menuPadding, + // ignore: invalid_use_of_protected_member initPeers: gFFI.groupModel.peersShow.value))), ) ], @@ -134,6 +135,7 @@ class _MyGroupState extends State { alignment: Alignment.topLeft, child: Obx(() => MyGroupPeerView( menuPadding: widget.menuPadding, + // ignore: invalid_use_of_protected_member initPeers: gFFI.groupModel.peersShow.value))), ) ], diff --git a/flutter/lib/desktop/pages/desktop_setting_page.dart b/flutter/lib/desktop/pages/desktop_setting_page.dart index 1e8c16e91..578b63b20 100644 --- a/flutter/lib/desktop/pages/desktop_setting_page.dart +++ b/flutter/lib/desktop/pages/desktop_setting_page.dart @@ -8,7 +8,6 @@ import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/consts.dart'; import 'package:flutter_hbb/desktop/pages/desktop_home_page.dart'; import 'package:flutter_hbb/desktop/pages/desktop_tab_page.dart'; -import 'package:flutter_hbb/models/group_model.dart'; import 'package:flutter_hbb/models/platform_model.dart'; import 'package:flutter_hbb/models/server_model.dart'; import 'package:flutter_hbb/plugin/manager.dart'; diff --git a/flutter/lib/desktop/pages/remote_page.dart b/flutter/lib/desktop/pages/remote_page.dart index 09aeb1e9f..b640eb235 100644 --- a/flutter/lib/desktop/pages/remote_page.dart +++ b/flutter/lib/desktop/pages/remote_page.dart @@ -1,6 +1,5 @@ import 'dart:async'; import 'dart:io'; -import 'dart:ui' as ui; import 'package:desktop_multi_window/desktop_multi_window.dart'; import 'package:flutter/material.dart'; diff --git a/flutter/lib/desktop/screen/desktop_file_transfer_screen.dart b/flutter/lib/desktop/screen/desktop_file_transfer_screen.dart index 74764a803..694f18ace 100644 --- a/flutter/lib/desktop/screen/desktop_file_transfer_screen.dart +++ b/flutter/lib/desktop/screen/desktop_file_transfer_screen.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/desktop/pages/file_manager_tab_page.dart'; -import 'package:flutter_hbb/desktop/widgets/refresh_wrapper.dart'; import 'package:provider/provider.dart'; /// multi-tab file transfer remote screen diff --git a/flutter/lib/desktop/screen/desktop_port_forward_screen.dart b/flutter/lib/desktop/screen/desktop_port_forward_screen.dart index 5cec10f86..c7c163a57 100644 --- a/flutter/lib/desktop/screen/desktop_port_forward_screen.dart +++ b/flutter/lib/desktop/screen/desktop_port_forward_screen.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/desktop/pages/port_forward_tab_page.dart'; -import 'package:flutter_hbb/desktop/widgets/refresh_wrapper.dart'; import 'package:provider/provider.dart'; /// multi-tab file port forward screen diff --git a/flutter/lib/desktop/screen/desktop_remote_screen.dart b/flutter/lib/desktop/screen/desktop_remote_screen.dart index 64af41401..72f15dbfd 100644 --- a/flutter/lib/desktop/screen/desktop_remote_screen.dart +++ b/flutter/lib/desktop/screen/desktop_remote_screen.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/desktop/pages/remote_tab_page.dart'; import 'package:flutter_hbb/models/platform_model.dart'; -import 'package:flutter_hbb/desktop/widgets/refresh_wrapper.dart'; import 'package:flutter_hbb/models/state_model.dart'; import 'package:provider/provider.dart'; diff --git a/flutter/lib/desktop/widgets/dragable_divider.dart b/flutter/lib/desktop/widgets/dragable_divider.dart index 3821b7e0d..a7afbd7fe 100644 --- a/flutter/lib/desktop/widgets/dragable_divider.dart +++ b/flutter/lib/desktop/widgets/dragable_divider.dart @@ -1,6 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/framework.dart'; -import 'package:flutter/src/widgets/placeholder.dart'; class DraggableDivider extends StatefulWidget { final Axis axis; @@ -28,8 +26,9 @@ class _DraggableDividerState extends State { Widget build(BuildContext context) { return Listener( onPointerMove: (event) { - final dl = - widget.axis == Axis.horizontal ? event.localDelta.dy : event.localDelta.dx; + final dl = widget.axis == Axis.horizontal + ? event.localDelta.dy + : event.localDelta.dx; widget.onPointerMove?.call(dl); }, onPointerHover: (event) => widget.onHover?.call(), diff --git a/flutter/lib/desktop/widgets/material_mod_popup_menu.dart b/flutter/lib/desktop/widgets/material_mod_popup_menu.dart index 3e85cb296..7377c1e25 100644 --- a/flutter/lib/desktop/widgets/material_mod_popup_menu.dart +++ b/flutter/lib/desktop/widgets/material_mod_popup_menu.dart @@ -1378,7 +1378,6 @@ class PopupMenuButtonState extends State> { @override Widget build(BuildContext context) { - final IconThemeData iconTheme = IconTheme.of(context); final bool enableFeedback = widget.enableFeedback ?? PopupMenuTheme.of(context).enableFeedback ?? true; diff --git a/flutter/lib/desktop/widgets/tabbar_widget.dart b/flutter/lib/desktop/widgets/tabbar_widget.dart index a5bab6fb4..ab36728cd 100644 --- a/flutter/lib/desktop/widgets/tabbar_widget.dart +++ b/flutter/lib/desktop/widgets/tabbar_widget.dart @@ -204,6 +204,7 @@ typedef LabelGetter = Rx Function(String key); int _lastClickTime = DateTime.now().millisecondsSinceEpoch - bind.getDoubleClickTime() - 1000; +// ignore: must_be_immutable class DesktopTab extends StatelessWidget { final bool showLogo; final bool showTitle; diff --git a/flutter/lib/mobile/widgets/gestures.dart b/flutter/lib/mobile/widgets/gestures.dart index f689bd9ac..77f9c42fd 100644 --- a/flutter/lib/mobile/widgets/gestures.dart +++ b/flutter/lib/mobile/widgets/gestures.dart @@ -717,13 +717,11 @@ RawGestureDetector getMixinGestureDetector({ HoldTapMoveGestureRecognizer: GestureRecognizerFactoryWithHandlers( () => HoldTapMoveGestureRecognizer(), - (instance) => { - instance - ..onHoldDragStart = onHoldDragStart - ..onHoldDragUpdate = onHoldDragUpdate - ..onHoldDragCancel = onHoldDragCancel - ..onHoldDragEnd = onHoldDragEnd - }), + (instance) => instance + ..onHoldDragStart = onHoldDragStart + ..onHoldDragUpdate = onHoldDragUpdate + ..onHoldDragCancel = onHoldDragCancel + ..onHoldDragEnd = onHoldDragEnd), DoubleFinerTapGestureRecognizer: GestureRecognizerFactoryWithHandlers< DoubleFinerTapGestureRecognizer>( () => DoubleFinerTapGestureRecognizer(), (instance) { diff --git a/flutter/lib/models/group_model.dart b/flutter/lib/models/group_model.dart index 10223595c..bade00442 100644 --- a/flutter/lib/models/group_model.dart +++ b/flutter/lib/models/group_model.dart @@ -30,13 +30,17 @@ class GroupModel { initialized = false; } - Future pull({force = true}) async { + Future pull({force = true, quiet = false}) async { + /* if (!force && initialized) return; - groupLoading.value = true; - groupLoadError.value = ""; + if (!quiet) { + groupLoading.value = true; + groupLoadError.value = ""; + } await _pull(); groupLoading.value = false; initialized = true; + */ } Future _pull() async { @@ -137,7 +141,8 @@ class GroupModel { final api = "${await bind.mainGetApiServer()}/api/peers"; try { var uri0 = Uri.parse(api); - final pageSize = 20; + final pageSize = + 20; // ????????????????????????????????????????????????????? stupid stupis, how about >20 peers var total = 0; int current = 0; var queryParameters = { diff --git a/flutter/lib/models/peer_tab_model.dart b/flutter/lib/models/peer_tab_model.dart index 631ddef08..5c3c6b01e 100644 --- a/flutter/lib/models/peer_tab_model.dart +++ b/flutter/lib/models/peer_tab_model.dart @@ -16,7 +16,7 @@ class PeerTabModel with ChangeNotifier { 'Favorites', 'Discovered', 'Address Book', - defaultGroupTabname, + //defaultGroupTabname, ]; final List icons = [ Icons.access_time_filled, diff --git a/flutter/lib/plugin/utils/dialogs.dart b/flutter/lib/plugin/utils/dialogs.dart index 6795a7d72..f30248f7a 100644 --- a/flutter/lib/plugin/utils/dialogs.dart +++ b/flutter/lib/plugin/utils/dialogs.dart @@ -1,10 +1,8 @@ import 'dart:convert'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/models/platform_model.dart'; -import 'package:get/get.dart'; void showPeerSelectionDialog( {bool singleSelection = false, @@ -48,9 +46,8 @@ void showPeerSelectionDialog( key: ValueKey(index), height: 50.0, decoration: BoxDecoration( - color: Theme.of(context).highlightColor, - borderRadius: BorderRadius.circular(12.0) - ), + color: Theme.of(context).highlightColor, + borderRadius: BorderRadius.circular(12.0)), padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 4.0), margin: EdgeInsets.symmetric(vertical: 4.0), child: Row( @@ -58,14 +55,18 @@ void showPeerSelectionDialog( mainAxisSize: MainAxisSize.max, children: [ // platform - SizedBox(width: 8.0,), + SizedBox( + width: 8.0, + ), Column( mainAxisAlignment: MainAxisAlignment.center, children: [ getPlatformImage(platform, size: 34.0), ], ), - SizedBox(width: 8.0,), + SizedBox( + width: 8.0, + ), // id/alias Expanded(child: Text(alias.isEmpty ? id : alias)), ], diff --git a/flutter/lib/utils/platform_channel.dart b/flutter/lib/utils/platform_channel.dart index 7b60ef63c..d7539934a 100644 --- a/flutter/lib/utils/platform_channel.dart +++ b/flutter/lib/utils/platform_channel.dart @@ -16,10 +16,6 @@ class RdPlatformChannel { final MethodChannel _osxMethodChannel = MethodChannel("org.rustdesk.rustdesk/macos"); - final MethodChannel _winMethodChannel = - MethodChannel("org.rustdesk.rustdesk/windows"); - final MethodChannel _linuxMethodChannel = - MethodChannel("org.rustdesk.rustdesk/linux"); /// Change the theme of the system window Future changeSystemWindowTheme(SystemWindowTheme theme) {