From 36b24bedb4977223496e99547d9bc1b9b4f2ab93 Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Mon, 7 Aug 2023 20:02:09 +0800 Subject: [PATCH] #95 fix --- .../app/src/main/res/layout/home_widget.xml | 1 + ios/Runner.xcodeproj/project.pbxproj | 24 ++++----- lib/data/model/app/shell_func.dart | 11 +++- lib/data/provider/docker.dart | 3 +- lib/data/res/build_data.dart | 4 +- lib/view/page/docker.dart | 52 ++++++++----------- macos/Runner.xcodeproj/project.pbxproj | 12 ++--- 7 files changed, 55 insertions(+), 52 deletions(-) diff --git a/android/app/src/main/res/layout/home_widget.xml b/android/app/src/main/res/layout/home_widget.xml index d6bdb3b3..0d04ca95 100644 --- a/android/app/src/main/res/layout/home_widget.xml +++ b/android/app/src/main/res/layout/home_widget.xml @@ -15,6 +15,7 @@ android:textColor="@color/widgetText" android:textSize="23sp" android:textStyle="bold" + android:maxLines="1" tools:text="Server Name" /> &1) +deniedStr="permission denied" +containStr=\$(echo \$result | grep "\${deniedStr}") +if [[ \$containStr != "" ]]; then +${dockerCmds.join(_cmdDivider)} +else +${dockerCmds.map((e) => "sudo -S $e").join(_cmdDivider)} +fi'''; } } diff --git a/lib/data/provider/docker.dart b/lib/data/provider/docker.dart index c20796ed..b78551fe 100644 --- a/lib/data/provider/docker.dart +++ b/lib/data/provider/docker.dart @@ -126,7 +126,7 @@ class DockerProvider extends BusyProvider { try { final statsLines = statsRaw.split('\n'); statsLines.removeWhere((element) => element.isEmpty); - statsLines.removeAt(0); + if (statsLines.isNotEmpty) statsLines.removeAt(0); for (var item in items!) { final statsLine = statsLines.firstWhere( (element) => element.contains(item.containerId), @@ -148,6 +148,7 @@ class DockerProvider extends BusyProvider { } Future _onPwd(String event, StreamSink stdin) async { + print(event); if (isRequestingPwd) return; isRequestingPwd = true; if (event.contains('[sudo] password for ')) { diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 0422d2f2..46da879b 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,8 +2,8 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 426; + static const int build = 446; static const String engine = "3.10.6"; - static const String buildAt = "2023-08-06 16:29:23.492978"; + static const String buildAt = "2023-08-07 18:34:12.547300"; static const int modifications = 4; } diff --git a/lib/view/page/docker.dart b/lib/view/page/docker.dart index d2d245e1..3a69cca5 100644 --- a/lib/view/page/docker.dart +++ b/lib/view/page/docker.dart @@ -261,10 +261,8 @@ class _DockerManagePageState extends State { final items = [ _buildLoading(), _buildVersion(), - _buildPsHeader(), - _buildPsItems(), - _buildImageHeader(), - _buildImageItems(), + _buildPs(), + _buildImage(), _buildEditHost(), ].map((e) => RoundRectCard(e)); return ListView( @@ -273,21 +271,18 @@ class _DockerManagePageState extends State { ); } - Widget _buildImageHeader() { - return ListTile( - title: Text(_s.imagesList), - subtitle: Text( - _s.dockerImagesFmt(_docker.images!.length), - style: grey, + Widget _buildImage() { + final items = [ + ListTile( + title: Text(_s.imagesList), + subtitle: Text( + _s.dockerImagesFmt(_docker.images!.length), + style: grey, + ), ), - ); - } - - Widget _buildImageItems() { - if (_docker.images == null) { - return nil; - } - return Column(children: _docker.images!.map(_buildImageItem).toList()); + ]; + items.addAll(_docker.images!.map(_buildImageItem)); + return Column(children: items); } Widget _buildImageItem(DockerImage e) { @@ -395,20 +390,17 @@ class _DockerManagePageState extends State { ); } - Widget _buildPsHeader() { - return ListTile( - title: Text(_s.containerStatus), - subtitle: Text(_buildPsCardSubtitle(_docker.items!), style: grey), - ); - } - - Widget _buildPsItems() { - if (_docker.items == null) { - return nil; - } + Widget _buildPs() { + final items = [ + ListTile( + title: Text(_s.containerStatus), + subtitle: Text(_buildPsCardSubtitle(_docker.items!), style: grey), + ), + ]; + items.addAll(_docker.items!.map(_buildPsItem)); return Column( mainAxisSize: MainAxisSize.min, - children: _docker.items!.map(_buildPsItem).toList(), + children: items, ); } diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index c9f5290e..49a9e619 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -475,9 +475,9 @@ baseConfigurationReference = C1C758C41C4E208965A68933 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 426; + CURRENT_PROJECT_VERSION = 446; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.426; + MARKETING_VERSION = 1.0.446; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -490,9 +490,9 @@ baseConfigurationReference = 15AF97DF993E8968098D6EBE /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 426; + CURRENT_PROJECT_VERSION = 446; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.426; + MARKETING_VERSION = 1.0.446; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -505,9 +505,9 @@ baseConfigurationReference = 7CFA7DE7FABA75685DFB6948 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 426; + CURRENT_PROJECT_VERSION = 446; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.426; + MARKETING_VERSION = 1.0.446; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0;