diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 8e8da06b..4cc722f6 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -354,7 +354,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 112; + CURRENT_PROJECT_VERSION = 115; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -362,7 +362,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.112; + MARKETING_VERSION = 1.0.115; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -484,7 +484,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 112; + CURRENT_PROJECT_VERSION = 115; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -492,7 +492,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.112; + MARKETING_VERSION = 1.0.115; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -508,7 +508,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 112; + CURRENT_PROJECT_VERSION = 115; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -516,7 +516,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.112; + MARKETING_VERSION = 1.0.115; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/data/provider/apt.dart b/lib/data/provider/apt.dart index 69582802..5e4f1775 100644 --- a/lib/data/provider/apt.dart +++ b/lib/data/provider/apt.dart @@ -11,12 +11,15 @@ class AptProvider extends BusyProvider { List? upgradeable; String? error; String? updateLog; + Function()? onUpgrade; AptProvider(); - Future init(SSHClient client, Distribution dist) async { + Future init( + SSHClient client, Distribution dist, Function() onUpgrade) async { this.client = client; this.dist = dist; + this.onUpgrade = onUpgrade; whoami = (await client.run('whoami').string).trim(); } @@ -88,6 +91,7 @@ class AptProvider extends BusyProvider { session.stdout.listen((data) { updateLog = (updateLog ?? '') + data.string; notifyListeners(); + onUpgrade!(); }); refreshInstalled(); } diff --git a/lib/data/provider/server.dart b/lib/data/provider/server.dart index b4f559fc..6ca3de7a 100644 --- a/lib/data/provider/server.dart +++ b/lib/data/provider/server.dart @@ -139,6 +139,7 @@ class ServerProvider extends BusyProvider { void delServer(ServerPrivateInfo info) { final idx = _servers.indexWhere((s) => s.info == info); + if (idx == -1) return; _servers[idx].client?.close(); _servers.removeAt(idx); notifyListeners(); diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 2e557ead..2a4721bb 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 = 114; + static const int build = 115; static const String engine = - "Flutter 2.10.4 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision c860cba910 (3 weeks ago) • 2022-03-25 00:23:12 -0500\nEngine • revision 57d3bac3dd\nTools • Dart 2.16.2 • DevTools 2.9.2\n"; - static const String buildAt = "2022-04-15 20:20:29.860208"; - static const int modifications = 1; + "Flutter 2.10.4 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision c860cba910 (6 weeks ago) • 2022-03-25 00:23:12 -0500\nEngine • revision 57d3bac3dd\nTools • Dart 2.16.2 • DevTools 2.9.2\n"; + static const String buildAt = "2022-05-03 08:33:56.199910"; + static const int modifications = 3; } diff --git a/lib/view/page/apt.dart b/lib/view/page/apt.dart index 8eb8094a..71c0b717 100644 --- a/lib/view/page/apt.dart +++ b/lib/view/page/apt.dart @@ -24,6 +24,7 @@ class _AptManagePageState extends State with SingleTickerProviderStateMixin { late MediaQueryData _media; final greyStyle = const TextStyle(color: Colors.grey); + final scrollController = ScrollController(); @override void didChangeDependencies() { @@ -48,7 +49,7 @@ class _AptManagePageState extends State Navigator.of(context).pop(); return; } - locator().init(si.client!, si.status.sysVer.dist); + locator().init(si.client!, si.status.sysVer.dist, () => scrollController.jumpTo(scrollController.position.maxScrollExtent)); } @override @@ -118,9 +119,10 @@ class _AptManagePageState extends State ] : [ SizedBox( - height: _media.size.height * 0.73, + height: _media.size.height * 0.7, child: ListView( padding: const EdgeInsets.all(18), + controller: scrollController, children: [Text(apt.updateLog!)], )) ],