diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart index 287bc3c0b..44d197e76 100644 --- a/flutter/lib/common.dart +++ b/flutter/lib/common.dart @@ -2555,7 +2555,7 @@ Future start_service(bool is_start) async { } } -typedef Future WhetherUseRemoteBlock(); +typedef WhetherUseRemoteBlock = Future Function(); Widget buildRemoteBlock({required Widget child, WhetherUseRemoteBlock? use}) { var block = false.obs; return Obx(() => MouseRegion( @@ -2982,3 +2982,11 @@ Future setServerConfig( } return true; } + +ColorFilter? svgColor(Color? color) { + if (color == null) { + return null; + } else { + return ColorFilter.mode(color, BlendMode.srcIn); + } +} diff --git a/flutter/lib/common/widgets/autocomplete.dart b/flutter/lib/common/widgets/autocomplete.dart index 966cb099f..d4b185706 100644 --- a/flutter/lib/common/widgets/autocomplete.dart +++ b/flutter/lib/common/widgets/autocomplete.dart @@ -7,15 +7,14 @@ import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/common/widgets/peer_card.dart'; Future> getAllPeers() async { - Map recentPeers = - jsonDecode(await bind.mainLoadRecentPeersSync()); - Map lanPeers = jsonDecode(await bind.mainLoadLanPeersSync()); - Map abPeers = jsonDecode(await bind.mainLoadAbSync()); - Map groupPeers = jsonDecode(await bind.mainLoadGroupSync()); + Map recentPeers = jsonDecode(bind.mainLoadRecentPeersSync()); + Map lanPeers = jsonDecode(bind.mainLoadLanPeersSync()); + Map abPeers = jsonDecode(bind.mainLoadAbSync()); + Map groupPeers = jsonDecode(bind.mainLoadGroupSync()); Map combinedPeers = {}; - void _mergePeers(Map peers) { + void mergePeers(Map peers) { if (peers.containsKey("peers")) { dynamic peerData = peers["peers"]; @@ -41,10 +40,10 @@ Future> getAllPeers() async { } } - _mergePeers(recentPeers); - _mergePeers(lanPeers); - _mergePeers(abPeers); - _mergePeers(groupPeers); + mergePeers(recentPeers); + mergePeers(lanPeers); + mergePeers(abPeers); + mergePeers(groupPeers); List parsedPeers = []; @@ -65,10 +64,10 @@ class AutocompletePeerTile extends StatefulWidget { }) : super(key: key); @override - _AutocompletePeerTileState createState() => _AutocompletePeerTileState(); + AutocompletePeerTileState createState() => AutocompletePeerTileState(); } -class _AutocompletePeerTileState extends State { +class AutocompletePeerTileState extends State { List _frontN(List list, int n) { if (list.length <= n) { return list; @@ -79,7 +78,7 @@ class _AutocompletePeerTileState extends State { @override Widget build(BuildContext context) { - final double _tileRadius = 5; + final double tileRadius = 5; final name = '${widget.peer.username}${widget.peer.username.isNotEmpty && widget.peer.hostname.isNotEmpty ? '@' : ''}${widget.peer.hostname}'; final greyStyle = TextStyle( @@ -100,8 +99,8 @@ class _AutocompletePeerTileState extends State { color: str2color( '${widget.peer.id}${widget.peer.platform}', 0x7f), borderRadius: BorderRadius.only( - topLeft: Radius.circular(_tileRadius), - bottomLeft: Radius.circular(_tileRadius), + topLeft: Radius.circular(tileRadius), + bottomLeft: Radius.circular(tileRadius), ), ), alignment: Alignment.center, @@ -117,8 +116,8 @@ class _AutocompletePeerTileState extends State { decoration: BoxDecoration( color: Theme.of(context).colorScheme.background, borderRadius: BorderRadius.only( - topRight: Radius.circular(_tileRadius), - bottomRight: Radius.circular(_tileRadius), + topRight: Radius.circular(tileRadius), + bottomRight: Radius.circular(tileRadius), ), ), child: Row( @@ -148,7 +147,7 @@ class _AutocompletePeerTileState extends State { .textTheme .titleSmall, )), - !widget.peer.alias.isEmpty + widget.peer.alias.isNotEmpty ? Padding( padding: const EdgeInsets diff --git a/flutter/lib/common/widgets/overlay.dart b/flutter/lib/common/widgets/overlay.dart index cfe2e1927..c90709826 100644 --- a/flutter/lib/common/widgets/overlay.dart +++ b/flutter/lib/common/widgets/overlay.dart @@ -369,10 +369,10 @@ class IOSDraggable extends StatefulWidget { final Widget Function(BuildContext) builder; @override - _IOSDraggableState createState() => _IOSDraggableState(); + IOSDraggableState createState() => IOSDraggableState(); } -class _IOSDraggableState extends State { +class IOSDraggableState extends State { late Offset _position; late ChatModel? _chatModel; late double _width; diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart index 406bab66c..7c186c919 100644 --- a/flutter/lib/common/widgets/peer_card.dart +++ b/flutter/lib/common/widgets/peer_card.dart @@ -602,6 +602,7 @@ abstract class BasePeerCard extends StatelessWidget { _openInWindowsAction(String id) async => await _openNewConnInAction( id, 'Open in new window', kOptionOpenInWindows); + // ignore: unused_element _openNewConnInOptAction(String id) async => mainGetLocalBoolOptionSync(kOptionOpenNewConnInTabs) ? await _openInWindowsAction(id) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index 7430e71c1..59ae64274 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -237,7 +237,7 @@ class _PeerTabPageState extends State "assets/checkbox-outline.svg", width: 18, height: 18, - color: textColor, + colorFilter: svgColor(textColor), )), ); } @@ -585,7 +585,7 @@ class _PeerTabPageState extends State "assets/chevron_up_chevron_down.svg", width: 18, height: 18, - color: textColor, + colorFilter: svgColor(textColor), )), onTap: showMenu, ); diff --git a/flutter/lib/desktop/pages/connection_page.dart b/flutter/lib/desktop/pages/connection_page.dart index 4793feecf..fb5078388 100644 --- a/flutter/lib/desktop/pages/connection_page.dart +++ b/flutter/lib/desktop/pages/connection_page.dart @@ -43,13 +43,6 @@ class _ConnectionPageState extends State bool isWindowMinimized = false; List peers = []; - List _frontN(List list, int n) { - if (list.length <= n) { - return list; - } else { - return list.sublist(0, n); - } - } bool isPeersLoading = false; bool isPeersLoaded = false; diff --git a/flutter/lib/desktop/pages/file_manager_page.dart b/flutter/lib/desktop/pages/file_manager_page.dart index b8a897a65..712ed0c5b 100644 --- a/flutter/lib/desktop/pages/file_manager_page.dart +++ b/flutter/lib/desktop/pages/file_manager_page.dart @@ -182,10 +182,9 @@ class _FileManagerPageState extends State children: [ Transform.rotate( angle: item.isRemoteToLocal ? pi : 0, - child: SvgPicture.asset( - "assets/arrow.svg", - color: Theme.of(context).tabBarTheme.labelColor, - ), + child: SvgPicture.asset("assets/arrow.svg", + colorFilter: svgColor( + Theme.of(context).tabBarTheme.labelColor)), ).paddingOnly(left: 15), const SizedBox( width: 16.0, @@ -262,7 +261,7 @@ class _FileManagerPageState extends State }, child: SvgPicture.asset( "assets/refresh.svg", - color: Colors.white, + colorFilter: svgColor(Colors.white), ), color: MyTheme.accent, hoverColor: MyTheme.accent80, @@ -272,7 +271,7 @@ class _FileManagerPageState extends State padding: EdgeInsets.only(right: 15), child: SvgPicture.asset( "assets/close.svg", - color: Colors.white, + colorFilter: svgColor(Colors.white), ), onPressed: () { jobController.jobTable.removeAt(index); @@ -307,13 +306,14 @@ class _FileManagerPageState extends State children: [ SvgPicture.asset( "assets/transfer.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: svgColor( + Theme.of(context).tabBarTheme.labelColor), height: 40, ).paddingOnly(bottom: 10), Text( translate("No transfers in progress"), textAlign: TextAlign.center, - textScaleFactor: 1.20, + textScaler: TextScaler.linear(1.20), style: TextStyle( color: Theme.of(context).tabBarTheme.labelColor), @@ -522,7 +522,8 @@ class _FileManagerViewState extends State { quarterTurns: 2, child: SvgPicture.asset( "assets/arrow.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), ), color: Theme.of(context).cardColor, @@ -537,7 +538,8 @@ class _FileManagerViewState extends State { quarterTurns: 3, child: SvgPicture.asset( "assets/arrow.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), ), color: Theme.of(context).cardColor, @@ -603,7 +605,8 @@ class _FileManagerViewState extends State { }, child: SvgPicture.asset( "assets/search.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).cardColor, hoverColor: Theme.of(context).hoverColor, @@ -613,7 +616,8 @@ class _FileManagerViewState extends State { onPressed: null, child: SvgPicture.asset( "assets/close.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).disabledColor, hoverColor: Theme.of(context).hoverColor, @@ -626,7 +630,8 @@ class _FileManagerViewState extends State { }, child: SvgPicture.asset( "assets/close.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).cardColor, hoverColor: Theme.of(context).hoverColor, @@ -642,7 +647,8 @@ class _FileManagerViewState extends State { }, child: SvgPicture.asset( "assets/refresh.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).cardColor, hoverColor: Theme.of(context).hoverColor, @@ -666,7 +672,8 @@ class _FileManagerViewState extends State { }, child: SvgPicture.asset( "assets/home.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).cardColor, hoverColor: Theme.of(context).hoverColor, @@ -692,7 +699,7 @@ class _FileManagerViewState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ SvgPicture.asset("assets/folder_new.svg", - color: MyTheme.accent), + colorFilter: svgColor(MyTheme.accent)), Text( translate("Create Folder"), ).paddingOnly( @@ -734,7 +741,8 @@ class _FileManagerViewState extends State { }, child: SvgPicture.asset( "assets/folder_new.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: + svgColor(Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).cardColor, hoverColor: Theme.of(context).hoverColor, @@ -749,7 +757,8 @@ class _FileManagerViewState extends State { : null, child: SvgPicture.asset( "assets/trash.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: svgColor( + Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).cardColor, hoverColor: Theme.of(context).hoverColor, @@ -795,24 +804,24 @@ class _FileManagerViewState extends State { quarterTurns: 2, child: SvgPicture.asset( "assets/arrow.svg", - color: selectedItems.items.isEmpty + colorFilter: svgColor(selectedItems.items.isEmpty ? Theme.of(context).brightness == Brightness.light ? MyTheme.grayBg : MyTheme.darkGray - : Colors.white, + : Colors.white), alignment: Alignment.bottomRight, ), ), label: isLocal ? SvgPicture.asset( "assets/arrow.svg", - color: selectedItems.items.isEmpty + colorFilter: svgColor(selectedItems.items.isEmpty ? Theme.of(context).brightness == Brightness.light ? MyTheme.grayBg : MyTheme.darkGray - : Colors.white, + : Colors.white), ) : Text( translate('Receive'), @@ -889,7 +898,7 @@ class _FileManagerViewState extends State { ), child: SvgPicture.asset( "assets/dots.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: svgColor(Theme.of(context).tabBarTheme.labelColor), ), color: Theme.of(context).cardColor, hoverColor: Theme.of(context).hoverColor, @@ -1000,9 +1009,10 @@ class _FileManagerViewState extends State { entry.isFile ? "assets/file.svg" : "assets/folder.svg", - color: Theme.of(context) - .tabBarTheme - .labelColor, + colorFilter: svgColor( + Theme.of(context) + .tabBarTheme + .labelColor), ), Expanded( child: Text(entry.name.nonBreaking, @@ -1126,11 +1136,14 @@ class _FileManagerViewState extends State { void _onSelectedChanged(SelectedItems selectedItems, List entries, Entry entry, bool isLocal) { - final isCtrlDown = RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.controlLeft) || - RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.controlRight); - final isShiftDown = - RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.shiftLeft) || - RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.shiftRight); + final isCtrlDown = RawKeyboard.instance.keysPressed + .contains(LogicalKeyboardKey.controlLeft) || + RawKeyboard.instance.keysPressed + .contains(LogicalKeyboardKey.controlRight); + final isShiftDown = RawKeyboard.instance.keysPressed + .contains(LogicalKeyboardKey.shiftLeft) || + RawKeyboard.instance.keysPressed + .contains(LogicalKeyboardKey.shiftRight); if (isCtrlDown) { if (selectedItems.items.contains(entry)) { selectedItems.remove(entry); @@ -1445,7 +1458,7 @@ class _FileManagerViewState extends State { _locationStatus.value == LocationStatus.pathLocation ? "assets/folder.svg" : "assets/search.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: svgColor(Theme.of(context).tabBarTheme.labelColor), ), Expanded( child: TextField( diff --git a/flutter/lib/desktop/pages/server_page.dart b/flutter/lib/desktop/pages/server_page.dart index 1fbd52c45..75c8eb78c 100644 --- a/flutter/lib/desktop/pages/server_page.dart +++ b/flutter/lib/desktop/pages/server_page.dart @@ -1006,7 +1006,7 @@ class __FileTransferLogPageState extends State<_FileTransferLogPage> { angle: item.action == CmFileAction.remoteToLocal ? 0 : pi, child: SvgPicture.asset( "assets/arrow.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: svgColor(Theme.of(context).tabBarTheme.labelColor), ), ), Text(item.action == CmFileAction.remoteToLocal @@ -1154,13 +1154,14 @@ class __FileTransferLogPageState extends State<_FileTransferLogPage> { children: [ SvgPicture.asset( "assets/transfer.svg", - color: Theme.of(context).tabBarTheme.labelColor, + colorFilter: svgColor( + Theme.of(context).tabBarTheme.labelColor), height: 40, ).paddingOnly(bottom: 10), Text( translate("No transfers in progress"), textAlign: TextAlign.center, - textScaleFactor: 1.20, + textScaler: TextScaler.linear(1.20), style: TextStyle( color: Theme.of(context).tabBarTheme.labelColor), diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart index 7e793a776..a53dd14db 100644 --- a/flutter/lib/main.dart +++ b/flutter/lib/main.dart @@ -430,7 +430,7 @@ class _AppState extends State { ? (context, child) => AccessibilityListener( child: MediaQuery( data: MediaQuery.of(context).copyWith( - textScaleFactor: 1.0, + textScaler: TextScaler.linear(1.0), ), child: child ?? Container(), ), @@ -452,7 +452,7 @@ class _AppState extends State { Widget _keepScaleBuilder(BuildContext context, Widget? child) { return MediaQuery( data: MediaQuery.of(context).copyWith( - textScaleFactor: 1.0, + textScaler: TextScaler.linear(1.0), ), child: child ?? Container(), ); diff --git a/flutter/lib/mobile/pages/connection_page.dart b/flutter/lib/mobile/pages/connection_page.dart index dfd7132fb..f2755a143 100644 --- a/flutter/lib/mobile/pages/connection_page.dart +++ b/flutter/lib/mobile/pages/connection_page.dart @@ -45,13 +45,6 @@ class _ConnectionPageState extends State { /// Update url. If it's not null, means an update is available. var _updateUrl = ''; List peers = []; - List _frontN(List list, int n) { - if (list.length <= n) { - return list; - } else { - return list.sublist(0, n); - } - } bool isPeersLoading = false; bool isPeersLoaded = false; diff --git a/flutter/lib/mobile/pages/file_manager_page.dart b/flutter/lib/mobile/pages/file_manager_page.dart index 5344c5da3..e9d0816ad 100644 --- a/flutter/lib/mobile/pages/file_manager_page.dart +++ b/flutter/lib/mobile/pages/file_manager_page.dart @@ -661,6 +661,7 @@ class BottomSheetBody extends StatelessWidget { @override BottomSheet build(BuildContext context) { + // ignore: no_leading_underscores_for_local_identifiers final _actions = actions ?? []; return BottomSheet( builder: (BuildContext context) { diff --git a/flutter/lib/mobile/pages/home_page.dart b/flutter/lib/mobile/pages/home_page.dart index c04e03244..f19541c8c 100644 --- a/flutter/lib/mobile/pages/home_page.dart +++ b/flutter/lib/mobile/pages/home_page.dart @@ -13,15 +13,15 @@ abstract class PageShape extends Widget { } class HomePage extends StatefulWidget { - static final homeKey = GlobalKey<_HomePageState>(); + static final homeKey = GlobalKey(); HomePage() : super(key: homeKey); @override - _HomePageState createState() => _HomePageState(); + HomePageState createState() => HomePageState(); } -class _HomePageState extends State { +class HomePageState extends State { var _selectedIndex = 0; int get selectedIndex => _selectedIndex; final List _pages = []; @@ -154,7 +154,7 @@ class WebHomePage extends StatelessWidget { // backgroundColor: MyTheme.grayBg, appBar: AppBar( centerTitle: true, - title: Text("RustDesk" + (isWeb ? " (Beta) " : "")), + title: Text("RustDesk${isWeb ? " (Beta) " : ""}"), actions: connectionPage.appBarActions, ), body: connectionPage, diff --git a/flutter/lib/mobile/pages/server_page.dart b/flutter/lib/mobile/pages/server_page.dart index 3aae8fe01..3bf7ca449 100644 --- a/flutter/lib/mobile/pages/server_page.dart +++ b/flutter/lib/mobile/pages/server_page.dart @@ -211,7 +211,9 @@ class ServiceNotRunningNotification extends StatelessWidget { ElevatedButton.icon( icon: const Icon(Icons.play_arrow), onPressed: () { - if (gFFI.userModel.userName.value.isEmpty && bind.mainGetLocalOption(key: "show-scam-warning") != "N") { + if (gFFI.userModel.userName.value.isEmpty && + bind.mainGetLocalOption(key: "show-scam-warning") != + "N") { showScamWarning(context, serverModel); } else { serverModel.toggleService(); @@ -229,10 +231,10 @@ class ScamWarningDialog extends StatefulWidget { ScamWarningDialog({required this.serverModel}); @override - _ScamWarningDialogState createState() => _ScamWarningDialogState(); + ScamWarningDialogState createState() => ScamWarningDialogState(); } -class _ScamWarningDialogState extends State { +class ScamWarningDialogState extends State { int _countdown = 12; bool show_warning = false; late Timer _timer; @@ -323,10 +325,7 @@ class _ScamWarningDialogState extends State { ), SizedBox(height: 18), Text( - translate("scam_text1") + - "\n\n" + - translate("scam_text2") + - "\n", + "${translate("scam_text1")}\n\n${translate("scam_text2")}\n", style: TextStyle( color: Colors.white, fontWeight: FontWeight.bold, @@ -370,11 +369,11 @@ class _ScamWarningDialogState extends State { } }, style: ElevatedButton.styleFrom( - primary: Colors.blueAccent, + backgroundColor: Colors.blueAccent, ), child: Text( isButtonLocked - ? translate("I Agree") + " (${_countdown}s)" + ? "${translate("I Agree")} (${_countdown}s)" : translate("I Agree"), style: TextStyle( fontWeight: FontWeight.bold, diff --git a/flutter/lib/mobile/pages/settings_page.dart b/flutter/lib/mobile/pages/settings_page.dart index d0dbc325c..f6b217533 100644 --- a/flutter/lib/mobile/pages/settings_page.dart +++ b/flutter/lib/mobile/pages/settings_page.dart @@ -227,6 +227,7 @@ class _SettingsState extends State with WidgetsBindingObserver { update() async { setState(() {}); } + change2fa(callback: update); }, ), @@ -718,7 +719,7 @@ class ScanButton extends StatelessWidget { } class _DisplayPage extends StatefulWidget { - const _DisplayPage({super.key}); + const _DisplayPage(); @override State<_DisplayPage> createState() => __DisplayPageState(); diff --git a/flutter/lib/mobile/widgets/gesture_help.dart b/flutter/lib/mobile/widgets/gesture_help.dart index bc31ae2c4..f4c5a35a4 100644 --- a/flutter/lib/mobile/widgets/gesture_help.dart +++ b/flutter/lib/mobile/widgets/gesture_help.dart @@ -7,30 +7,27 @@ class GestureIcons { GestureIcons._(); - static const IconData icon_mouse = IconData(0xe65c, fontFamily: _family); - static const IconData icon_Tablet_Touch = - IconData(0xe9ce, fontFamily: _family); - static const IconData icon_gesture_f_drag = + static const IconData iconMouse = IconData(0xe65c, fontFamily: _family); + static const IconData iconTabletTouch = IconData(0xe9ce, fontFamily: _family); + static const IconData iconGestureFDrag = IconData(0xe686, fontFamily: _family); - static const IconData icon_Mobile_Touch = - IconData(0xe9cd, fontFamily: _family); - static const IconData icon_gesture_press = + static const IconData iconMobileTouch = IconData(0xe9cd, fontFamily: _family); + static const IconData iconGesturePress = IconData(0xe66c, fontFamily: _family); - static const IconData icon_gesture_tap = - IconData(0xe66f, fontFamily: _family); - static const IconData icon_gesture_pinch = + static const IconData iconGestureTap = IconData(0xe66f, fontFamily: _family); + static const IconData iconGesturePinch = IconData(0xe66a, fontFamily: _family); - static const IconData icon_gesture_press_hold = + static const IconData iconGesturePressHold = IconData(0xe66b, fontFamily: _family); - static const IconData icon_gesture_f_drag_up_down_ = + static const IconData iconGestureFDragUpDown_ = IconData(0xe685, fontFamily: _family); - static const IconData icon_gesture_f_tap_ = + static const IconData iconGestureFTap_ = IconData(0xe68e, fontFamily: _family); - static const IconData icon_gesture_f_swipe_right = + static const IconData iconGestureFSwipeRight = IconData(0xe68f, fontFamily: _family); - static const IconData icon_gesture_f_double_tap = + static const IconData iconGestureFdoubleTap = IconData(0xe691, fontFamily: _family); - static const IconData icon_gesture_f_three_fingers = + static const IconData iconGestureFThreeFingers = IconData(0xe687, fontFamily: _family); } @@ -106,64 +103,64 @@ class _GestureHelpState extends State { ? [ GestureInfo( width, - GestureIcons.icon_Mobile_Touch, + GestureIcons.iconMobileTouch, translate("One-Finger Tap"), translate("Left Mouse")), GestureInfo( width, - GestureIcons.icon_gesture_press_hold, + GestureIcons.iconGesturePressHold, translate("One-Long Tap"), translate("Right Mouse")), GestureInfo( width, - GestureIcons.icon_gesture_f_swipe_right, + GestureIcons.iconGestureFSwipeRight, translate("One-Finger Move"), translate("Mouse Drag")), GestureInfo( width, - GestureIcons.icon_gesture_f_three_fingers, + GestureIcons.iconGestureFThreeFingers, translate("Three-Finger vertically"), translate("Mouse Wheel")), GestureInfo( width, - GestureIcons.icon_gesture_f_drag, + GestureIcons.iconGestureFDrag, translate("Two-Finger Move"), translate("Canvas Move")), GestureInfo( width, - GestureIcons.icon_gesture_pinch, + GestureIcons.iconGesturePinch, translate("Pinch to Zoom"), translate("Canvas Zoom")), ] : [ GestureInfo( width, - GestureIcons.icon_Mobile_Touch, + GestureIcons.iconMobileTouch, translate("One-Finger Tap"), translate("Left Mouse")), GestureInfo( width, - GestureIcons.icon_gesture_press_hold, + GestureIcons.iconGesturePressHold, translate("One-Long Tap"), translate("Right Mouse")), GestureInfo( width, - GestureIcons.icon_gesture_f_swipe_right, + GestureIcons.iconGestureFSwipeRight, translate("Double Tap & Move"), translate("Mouse Drag")), GestureInfo( width, - GestureIcons.icon_gesture_f_three_fingers, + GestureIcons.iconGestureFThreeFingers, translate("Three-Finger vertically"), translate("Mouse Wheel")), GestureInfo( width, - GestureIcons.icon_gesture_f_drag, + GestureIcons.iconGestureFDrag, translate("Two-Finger Move"), translate("Canvas Move")), GestureInfo( width, - GestureIcons.icon_gesture_pinch, + GestureIcons.iconGesturePinch, translate("Pinch to Zoom"), translate("Canvas Zoom")), ], diff --git a/flutter/lib/models/web_model.dart b/flutter/lib/models/web_model.dart index 291e21a9c..3c7de06c2 100644 --- a/flutter/lib/models/web_model.dart +++ b/flutter/lib/models/web_model.dart @@ -25,7 +25,7 @@ class PlatformFFI { static get localeName => window.navigator.language; - static Future init(String _appType) async { + static Future init(String appType) async { isWeb = true; isWebDesktop = !context.callMethod('isMobile'); context.callMethod('init'); diff --git a/flutter/lib/utils/multi_window_manager.dart b/flutter/lib/utils/multi_window_manager.dart index b8edeb3e4..9ad8270e4 100644 --- a/flutter/lib/utils/multi_window_manager.dart +++ b/flutter/lib/utils/multi_window_manager.dart @@ -9,6 +9,7 @@ import 'package:flutter_hbb/consts.dart'; import 'package:flutter_hbb/common.dart'; /// must keep the order +// ignore: constant_identifier_names enum WindowType { Main, RemoteDesktop, FileTransfer, PortForward, Unknown } extension Index on int { diff --git a/flutter/pubspec.lock b/flutter/pubspec.lock index 6e1ecb334..2335323ac 100644 --- a/flutter/pubspec.lock +++ b/flutter/pubspec.lock @@ -29,18 +29,18 @@ packages: dependency: transitive description: name: animations - sha256: ef57563eed3620bd5d75ad96189846aca1e033c0c45fc9a7d26e80ab02b88a70 + sha256: d3d6dcfb218225bbe68e87ccf6378bbb2e32a94900722c5f81611dad089911cb url: "https://pub.dev" source: hosted - version: "2.0.8" + version: "2.0.11" archive: dependency: transitive description: name: archive - sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03" + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" url: "https://pub.dev" source: hosted - version: "3.4.6" + version: "3.4.10" args: dependency: transitive description: @@ -125,34 +125,34 @@ packages: dependency: transitive description: name: build_daemon - sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65" + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.0.1" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8" + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" + sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.4.8" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" url: "https://pub.dev" source: hosted - version: "7.2.11" + version: "7.3.0" built_collection: dependency: transitive description: @@ -165,34 +165,34 @@ packages: dependency: transitive description: name: built_value - sha256: "723b4021e903217dfc445ec4cf5b42e27975aece1fc4ebbc1ca6329c2d9fb54e" + sha256: a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6 url: "https://pub.dev" source: hosted - version: "8.7.0" + version: "8.9.0" cached_network_image: dependency: transitive description: name: cached_network_image - sha256: f98972704692ba679db144261172a8e20feb145636c617af0eb4022132a6797f + sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.3.1" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - sha256: "56aa42a7a01e3c9db8456d9f3f999931f1e05535b5a424271e9a38cabf066613" + sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - sha256: "759b9a9f8f6ccbb66c185df805fac107f05730b1dab9c64626d1008cca532257" + sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" characters: dependency: transitive description: @@ -221,10 +221,10 @@ packages: dependency: transitive description: name: cli_util - sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7 + sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.4.1" clock: dependency: transitive description: @@ -237,18 +237,18 @@ packages: dependency: transitive description: name: code_builder - sha256: "1be9be30396d7e4c0db42c35ea6ccd7cc6a1e19916b5dc64d6ac216b5544d677" + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.10.0" collection: dependency: transitive description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" + version: "1.18.0" contextmenu: dependency: "direct main" description: @@ -269,10 +269,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" + sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e url: "https://pub.dev" source: hosted - version: "0.3.3+6" + version: "0.3.3+8" crypto: dependency: transitive description: @@ -293,10 +293,10 @@ packages: dependency: transitive description: name: dart_style - sha256: abd7625e16f51f554ea244d090292945ec4d4be7bfbaf2ec8cccea568919d334 + sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.4" dash_chat_2: dependency: "direct main" description: @@ -310,10 +310,10 @@ packages: dependency: transitive description: name: dbus - sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" + sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" url: "https://pub.dev" source: hosted - version: "0.7.8" + version: "0.7.10" debounce_throttle: dependency: "direct main" description: @@ -343,10 +343,10 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: "7035152271ff67b072a211152846e9f1259cf1be41e34cd3e0b5463d2d6b8419" + sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "9.1.2" device_info_plus_platform_interface: dependency: transitive description: @@ -440,10 +440,10 @@ packages: dependency: transitive description: name: file_selector_platform_interface - sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.6.2" file_selector_windows: dependency: transitive description: @@ -464,10 +464,10 @@ packages: dependency: "direct main" description: name: flex_color_picker - sha256: f37476ab3e80dcaca94e428e159944d465dd16312fda9ff41e07e86f04bfa51c + sha256: "0871edc170153cfc3de316d30625f40a85daecfa76ce541641f3cc0ec7757cbf" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.3.1" flex_seed_scheme: dependency: transitive description: @@ -620,10 +620,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: bfc7cc3c75fe1282e8ce2e056d8fd1533f1a6848b65c379b4a5e7a9b623d3371 + sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c url: "https://pub.dev" source: hosted - version: "2.0.8" + version: "2.0.9" flutter_web_plugins: dependency: transitive description: flutter @@ -633,10 +633,10 @@ packages: dependency: "direct dev" description: name: freezed - sha256: "21bf2825311de65501d22e563e3d7605dff57fb5e6da982db785ae5372ff018a" + sha256: "57247f692f35f068cae297549a46a9a097100685c6780fe67177503eea5ed4e5" url: "https://pub.dev" source: hosted - version: "2.4.5" + version: "2.4.7" freezed_annotation: dependency: "direct main" description: @@ -689,10 +689,10 @@ packages: dependency: "direct main" description: name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" http_multi_server: dependency: transitive description: @@ -713,18 +713,18 @@ packages: dependency: "direct dev" description: name: icons_launcher - sha256: "69de6373013966ea033f4cefbbbae258ccbfe790a6cfc69796cb33fda996298a" + sha256: "9b514ffed6ed69b232fd2bf34c44878c8526be71fc74129a658f35c04c9d4a9d" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.7" image: dependency: "direct main" description: name: image - sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" url: "https://pub.dev" source: hosted - version: "4.1.3" + version: "4.1.7" image_picker: dependency: "direct main" description: @@ -737,10 +737,10 @@ packages: dependency: transitive description: name: image_picker_android - sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f + sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" url: "https://pub.dev" source: hosted - version: "0.8.8+2" + version: "0.8.9+3" image_picker_for_web: dependency: transitive description: @@ -753,10 +753,10 @@ packages: dependency: transitive description: name: image_picker_ios - sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497 + sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 url: "https://pub.dev" source: hosted - version: "0.8.8+2" + version: "0.8.9+1" image_picker_linux: dependency: transitive description: @@ -777,10 +777,10 @@ packages: dependency: transitive description: name: image_picker_platform_interface - sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 + sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b url: "https://pub.dev" source: hosted - version: "2.9.1" + version: "2.9.3" image_picker_windows: dependency: transitive description: @@ -841,10 +841,10 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: @@ -857,18 +857,18 @@ packages: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" mime: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" nested: dependency: transitive description: @@ -937,26 +937,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" path_provider_linux: dependency: transitive description: @@ -969,10 +969,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -1001,34 +1001,34 @@ packages: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.2" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.6" + version: "2.1.8" pointycastle: dependency: transitive description: name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" url: "https://pub.dev" source: hosted - version: "3.7.3" + version: "3.7.4" pool: dependency: transitive description: @@ -1041,10 +1041,10 @@ packages: dependency: "direct main" description: name: provider - sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" url: "https://pub.dev" source: hosted - version: "6.0.5" + version: "6.1.1" pub_semver: dependency: transitive description: @@ -1073,10 +1073,10 @@ packages: dependency: transitive description: name: puppeteer - sha256: "59e723cc5b69537159a7c34efd645dc08a6a1ac4647d7d7823606802c0f93cdb" + sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.6.0" qr: dependency: transitive description: @@ -1182,10 +1182,10 @@ packages: dependency: transitive description: name: source_gen - sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16 + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.5.0" source_span: dependency: transitive description: @@ -1198,18 +1198,18 @@ packages: dependency: transitive description: name: sqflite - sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a" + sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6 url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.2" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "1b92f368f44b0dee2425bb861cfa17b6f6cf3961f762ff6f941d20b33355660a" + sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.5.3" stack_trace: dependency: transitive description: @@ -1246,10 +1246,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.0+1" term_glyph: dependency: transitive description: @@ -1262,10 +1262,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" texture_rgba_renderer: dependency: "direct main" description: @@ -1351,34 +1351,34 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba + sha256: c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.4" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" + sha256: "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.2.2" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "4ac97281cf60e2e8c5cc703b2b28528f9b50c8f7cebc71df6bdf0845f647268a" + sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.2.4" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" url_launcher_macos: dependency: transitive description: @@ -1391,26 +1391,26 @@ packages: dependency: transitive description: name: url_launcher_platform_interface - sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" + sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2" + sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.2.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" uuid: dependency: "direct main" description: @@ -1423,26 +1423,26 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43" + sha256: "4ac59808bbfca6da38c99f415ff2d3a5d7ca0a6b4809c71d9cf30fba5daf9752" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.10+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7" + sha256: f3247e7ab0ec77dc759263e68394990edc608fb2b480b80db8aa86ed09279e33 url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.10+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26 + sha256: "18489bdd8850de3dd7ca8a34e0c446f719ec63e2bab2e7a8cc66a9028dd76c5a" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.10+1" vector_math: dependency: transitive description: @@ -1455,42 +1455,42 @@ packages: dependency: transitive description: name: video_player - sha256: "74b86e63529cf5885130c639d74cd2f9232e7c8a66cbecbddd1dcb9dbd060d1e" + sha256: fbf28ce8bcfe709ad91b5789166c832cb7a684d14f571a81891858fefb5bb1c2 url: "https://pub.dev" source: hosted - version: "2.7.2" + version: "2.8.2" video_player_android: dependency: transitive description: name: video_player_android - sha256: "3fe89ab07fdbce786e7eb25b58532d6eaf189ceddc091cb66cba712f8d9e8e55" + sha256: "7f8f25d7ad56819a82b2948357f3c3af071f6a678db33833b26ec36bbc221316" url: "https://pub.dev" source: hosted - version: "2.4.10" + version: "2.4.11" video_player_avfoundation: dependency: transitive description: name: video_player_avfoundation - sha256: "6387c2de77763b45104256b3b00b660089be4f909ded8631457dc11bf635e38f" + sha256: "309e3962795e761be010869bae65c0b0e45b5230c5cee1bec72197ca7db040ed" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.5.6" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface - sha256: be72301bf2c0150ab35a8c34d66e5a99de525f6de1e8d27c0672b836fe48f73a + sha256: "236454725fafcacf98f0f39af0d7c7ab2ce84762e3b63f2cbb3ef9a7e0550bc6" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.2" video_player_web: dependency: transitive description: name: video_player_web - sha256: "2dd24f7ba46bfb5d070e9c795001db95e0ca5f2a3d025e98f287c10c9f0fd62f" + sha256: "34beb3a07d4331a24f7e7b2f75b8e2b103289038e07e65529699a671b6a6e2cb" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.3" visibility_detector: dependency: "direct main" description: @@ -1503,10 +1503,10 @@ packages: dependency: "direct main" description: name: wakelock_plus - sha256: f45a6c03aa3f8322e0a9d7f4a0482721c8789cb41d555407367650b8f9c26018 + sha256: f268ca2116db22e57577fb99d52515a24bdc1d570f12ac18bb762361d43b043d url: "https://pub.dev" source: hosted - version: "1.1.3" + version: "1.1.4" wakelock_plus_platform_interface: dependency: transitive description: @@ -1527,10 +1527,10 @@ packages: dependency: transitive description: name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "0.3.0" web_socket_channel: dependency: transitive description: @@ -1543,10 +1543,10 @@ packages: dependency: "direct main" description: name: win32 - sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" + sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" url: "https://pub.dev" source: hosted - version: "5.0.9" + version: "5.2.0" win32_registry: dependency: transitive description: @@ -1577,18 +1577,18 @@ packages: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.5.0" yaml: dependency: transitive description: @@ -1609,10 +1609,10 @@ packages: dependency: "direct main" description: name: zxing2 - sha256: "1e141568c9646bc262fa75aacf739bc151ef6ad0226997c0016cc3da358a1bbc" + sha256: a042961441bd400f59595f9125ef5fca4c888daf0ea59c17f41e0e151f8a12b5 url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.2.1" sdks: - dart: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + dart: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0"