From f70449d67d94e6ac5420a380778e23daadb7e5bc Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Tue, 7 May 2024 15:48:08 +0800 Subject: [PATCH] feat: general wake lock (#347) --- ios/Runner.xcodeproj/project.pbxproj | 36 +++++++++++++------------- lib/data/res/build_data.dart | 6 ++--- lib/data/store/setting.dart | 7 +++-- lib/view/page/home/home.dart | 5 ++++ lib/view/page/setting/entry.dart | 13 ++++++++-- lib/view/page/ssh/page.dart | 4 +-- macos/Runner.xcodeproj/project.pbxproj | 12 ++++----- pubspec.lock | 8 +++--- pubspec.yaml | 8 +++--- 9 files changed, 59 insertions(+), 40 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 9d20d5dc..e572f141 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -690,7 +690,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -700,7 +700,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -826,7 +826,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -836,7 +836,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -854,7 +854,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -864,7 +864,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -885,7 +885,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -898,7 +898,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; @@ -924,7 +924,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -937,7 +937,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -960,7 +960,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -973,7 +973,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -996,7 +996,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -1008,7 +1008,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; @@ -1037,7 +1037,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -1049,7 +1049,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_NAME = ServerBox; @@ -1075,7 +1075,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -1087,7 +1087,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_NAME = ServerBox; diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 1ef335e8..b7b2c403 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,9 +2,9 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 877; + static const int build = 878; static const String engine = "3.19.6"; - static const String buildAt = "2024-05-07 15:17:19"; - static const int modifications = 15; + static const String buildAt = "2024-05-07 15:22:39"; + static const int modifications = 2; static const int script = 45; } diff --git a/lib/data/store/setting.dart b/lib/data/store/setting.dart index 289a01c4..25050828 100644 --- a/lib/data/store/setting.dart +++ b/lib/data/store/setting.dart @@ -273,8 +273,11 @@ class SettingStore extends PersistentStore { late final collectUsage = property('collectUsage', true); - /// eg: ssh page - late final wakeLock = property('wakeLock', true); + /// general wake lock + late final generalWakeLock = property('generalWakeLock', false); + + /// ssh page + late final sshWakeLock = property('sshWakeLock', true); // Never show these settings for users // diff --git a/lib/view/page/home/home.dart b/lib/view/page/home/home.dart index 38bd7438..44142130 100644 --- a/lib/view/page/home/home.dart +++ b/lib/view/page/home/home.dart @@ -33,6 +33,7 @@ import 'package:toolbox/view/widget/appbar.dart'; import 'package:toolbox/view/widget/cardx.dart'; import 'package:toolbox/view/widget/markdown.dart'; import 'package:toolbox/view/widget/val_builder.dart'; +import 'package:wakelock_plus/wakelock_plus.dart'; part 'appbar.dart'; @@ -68,6 +69,9 @@ class _HomePageState extends State _selectIndex.value = 0; } _pageController = PageController(initialPage: _selectIndex.value); + if (Stores.setting.generalWakeLock.fetch()) { + WakelockPlus.enable(); + } } @override @@ -82,6 +86,7 @@ class _HomePageState extends State WidgetsBinding.instance.removeObserver(this); Pros.server.closeServer(); _pageController.dispose(); + WakelockPlus.disable(); } @override diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart index e15f749f..85532c7d 100644 --- a/lib/view/page/setting/entry.dart +++ b/lib/view/page/setting/entry.dart @@ -176,7 +176,7 @@ class _SettingPageState extends State { Widget _buildSSH() { return Column( children: [ - _buildWakeLock(), + _buildSSHWakeLock(), _buildTermTheme(), _buildFont(), _buildTermFontSize(), @@ -1076,6 +1076,7 @@ class _SettingPageState extends State { leading: const Icon(MingCute.more_3_fill), title: Text(l10n.more), children: [ + _buildWakeLock(), if (isAndroid || isIOS) _buildCollectUsage(), _buildCollapseUI(), _buildCupertinoRoute(), @@ -1136,7 +1137,15 @@ class _SettingPageState extends State { return ListTile( leading: const Icon(MingCute.lock_fill), title: Text(l10n.wakeLock), - trailing: StoreSwitch(prop: _setting.wakeLock), + trailing: StoreSwitch(prop: _setting.generalWakeLock), + ); + } + + Widget _buildSSHWakeLock() { + return ListTile( + leading: const Icon(MingCute.lock_fill), + title: Text(l10n.wakeLock), + trailing: StoreSwitch(prop: _setting.sshWakeLock), ); } } diff --git a/lib/view/page/ssh/page.dart b/lib/view/page/ssh/page.dart index eb099e93..fc34f022 100644 --- a/lib/view/page/ssh/page.dart +++ b/lib/view/page/ssh/page.dart @@ -80,7 +80,7 @@ class _SSHPageState extends State with AutomaticKeepAliveClientMixin { _showHelp(); await _initTerminal(); - if (Stores.setting.wakeLock.fetch()) WakelockPlus.enable(); + if (Stores.setting.sshWakeLock.fetch()) WakelockPlus.enable(); }); } @@ -90,7 +90,7 @@ class _SSHPageState extends State with AutomaticKeepAliveClientMixin { _virtKeyLongPressTimer?.cancel(); _terminalController.dispose(); _discontinuityTimer?.cancel(); - WakelockPlus.disable(); + if (!Stores.setting.generalWakeLock.fetch()) WakelockPlus.disable(); } @override diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index a680e345..bdb60557 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -471,7 +471,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; @@ -481,7 +481,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "Server Box"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -608,7 +608,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; @@ -618,7 +618,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "Server Box"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -638,7 +638,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 877; + CURRENT_PROJECT_VERSION = 878; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; @@ -649,7 +649,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.0.877; + MARKETING_VERSION = 1.0.878; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "Server Box"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/pubspec.lock b/pubspec.lock index e4b7e556..5bb46b2d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -262,9 +262,11 @@ packages: dartssh2: dependency: "direct main" description: - path: "../dartssh2" - relative: true - source: path + path: "." + ref: dev + resolved-ref: d62d7e64c99de62a52495f3dedbf6b8983e4ce77 + url: "https://github.com/lollipopkit/dartssh2" + source: git version: "2.9.1-pre" dbus: dependency: transitive diff --git a/pubspec.yaml b/pubspec.yaml index fb220706..5a4daf24 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -21,10 +21,10 @@ dependencies: countly_flutter: ^24.4.0 dartssh2: #^2.9.1-pre # newer version has some issues - # git: - # ref: master - # url: https://github.com/lollipopkit/dartssh2 - path: ../dartssh2 + git: + ref: dev + url: https://github.com/lollipopkit/dartssh2 + #path: ../dartssh2 logging: ^1.0.2 circle_chart: git: