From c036b78708561e3499bc19ffae81ae0493a90dd1 Mon Sep 17 00:00:00 2001 From: Junyuan Feng Date: Sat, 5 Nov 2022 21:58:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20`armbian`=20=E5=A4=B4?= =?UTF-8?q?=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- assets/linux/armbian.png | Bin 0 -> 6222 bytes ios/Runner.xcodeproj/project.pbxproj | 12 ++++---- lib/core/update.dart | 8 +++--- lib/data/model/distribution.dart | 4 ++- lib/data/model/server/cpu_2_status.dart | 36 ++++++++++++------------ lib/data/model/server/linux_icon.dart | 14 --------- lib/data/model/server/net_speed.dart | 26 ++++++++--------- lib/data/res/build_data.dart | 8 +++--- lib/data/res/icon/linux_icons.dart | 20 +++++++++++-- macos/Runner.xcodeproj/project.pbxproj | 12 ++++---- pubspec.yaml | 1 + 12 files changed, 73 insertions(+), 70 deletions(-) create mode 100644 assets/linux/armbian.png delete mode 100644 lib/data/model/server/linux_icon.dart diff --git a/README.md b/README.md index 212f6814..57920c7a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- + diff --git a/assets/linux/armbian.png b/assets/linux/armbian.png new file mode 100644 index 0000000000000000000000000000000000000000..7108b27d22c5badbd03eb0998ff5e26e3c941df9 GIT binary patch literal 6222 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 isFileAvailable(String url) async { try { final resp = await Dio().head(url); return resp.statusCode == 200; } catch (e) { - logger.warning('update file not available: $e'); + _logger.warning('update file not available: $e'); return false; } } @@ -40,11 +40,11 @@ Future doUpdate(BuildContext context, {bool force = false}) async { }(); if (!force && newest <= BuildData.build) { - logger.info('Update ignored due to current: ${BuildData.build}, ' + _logger.info('Update ignored due to current: ${BuildData.build}, ' 'update: $newest'); return; } - logger.info('Update available: $newest'); + _logger.info('Update available: $newest'); if (Platform.isAndroid && !await isFileAvailable(update.android)) { return; diff --git a/lib/data/model/distribution.dart b/lib/data/model/distribution.dart index c86045d1..61e18443 100644 --- a/lib/data/model/distribution.dart +++ b/lib/data/model/distribution.dart @@ -9,8 +9,10 @@ const debianDistList = [ 'ubuntu', 'linuxmint', 'elementary', - 'raspbian' + 'raspbian', + 'armbian' ]; + const rehlDistList = [ 'redhat', 'fedora', diff --git a/lib/data/model/server/cpu_2_status.dart b/lib/data/model/server/cpu_2_status.dart index 4888822b..c3107ca2 100644 --- a/lib/data/model/server/cpu_2_status.dart +++ b/lib/data/model/server/cpu_2_status.dart @@ -1,53 +1,53 @@ import 'package:toolbox/data/model/server/cpu_status.dart'; class Cpu2Status { - List pre; - List now; + List _pre; + List _now; String temp; - Cpu2Status(this.pre, this.now, this.temp); + Cpu2Status(this._pre, this._now, this.temp); double usedPercent({int coreIdx = 0}) { - if (now.length != pre.length) return 0; - final idleDelta = now[coreIdx].idle - pre[coreIdx].idle; - final totalDelta = now[coreIdx].total - pre[coreIdx].total; + if (_now.length != _pre.length) return 0; + final idleDelta = _now[coreIdx].idle - _pre[coreIdx].idle; + final totalDelta = _now[coreIdx].total - _pre[coreIdx].total; final used = idleDelta / totalDelta; return used.isNaN ? 0 : 100 - used * 100; } void update(List newStatus, String newTemp) { - pre = now; - now = newStatus; + _pre = _now; + _now = newStatus; temp = newTemp; } - int get coresCount => now.length; + int get coresCount => _now.length; - int get totalDelta => now[0].total - pre[0].total; + int get totalDelta => _now[0].total - _pre[0].total; double get user { - if (now.length != pre.length) return 0; - final delta = now[0].user - pre[0].user; + if (_now.length != _pre.length) return 0; + final delta = _now[0].user - _pre[0].user; final used = delta / totalDelta; return used.isNaN ? 0 : used * 100; } double get sys { - if (now.length != pre.length) return 0; - final delta = now[0].sys - pre[0].sys; + if (_now.length != _pre.length) return 0; + final delta = _now[0].sys - _pre[0].sys; final used = delta / totalDelta; return used.isNaN ? 0 : used * 100; } double get nice { - if (now.length != pre.length) return 0; - final delta = now[0].nice - pre[0].nice; + if (_now.length != _pre.length) return 0; + final delta = _now[0].nice - _pre[0].nice; final used = delta / totalDelta; return used.isNaN ? 0 : used * 100; } double get iowait { - if (now.length != pre.length) return 0; - final delta = now[0].iowait - pre[0].iowait; + if (_now.length != _pre.length) return 0; + final delta = _now[0].iowait - _pre[0].iowait; final used = delta / totalDelta; return used.isNaN ? 0 : used * 100; } diff --git a/lib/data/model/server/linux_icon.dart b/lib/data/model/server/linux_icon.dart deleted file mode 100644 index 522cffcb..00000000 --- a/lib/data/model/server/linux_icon.dart +++ /dev/null @@ -1,14 +0,0 @@ -class LinuxIcons { - List db; - - LinuxIcons(this.db); - - String? search(String sysVer) { - for (var item in db) { - if (sysVer.toLowerCase().contains(item)) { - return 'assets/linux/$item.png'; - } - } - return null; - } -} diff --git a/lib/data/model/server/net_speed.dart b/lib/data/model/server/net_speed.dart index fb79a2a2..66596aaa 100644 --- a/lib/data/model/server/net_speed.dart +++ b/lib/data/model/server/net_speed.dart @@ -9,46 +9,46 @@ class NetSpeedPart { } class NetSpeed { - List old; - List now; - NetSpeed(this.old, this.now); + List _old; + List _now; + NetSpeed(this._old, this._now); List get devices { final devices = []; - for (var item in now) { + for (var item in _now) { devices.add(item.device); } return devices; } void update(List newOne) { - old = now; - now = newOne; + _old = _now; + _now = newOne; } - int get timeDiff => now[0].time - old[0].time; + int get timeDiff => _now[0].time - _old[0].time; String speedIn({String? device}) { - if (old[0].device == '' || now[0].device == '') return '0kb/s'; + if (_old[0].device == '' || _now[0].device == '') return '0kb/s'; final idx = deviceIdx(device); final speedInBytesPerSecond = - (now[idx].bytesIn - old[idx].bytesIn) / timeDiff; + (_now[idx].bytesIn - _old[idx].bytesIn) / timeDiff; return buildStandardOutput(speedInBytesPerSecond); } String speedOut({String? device}) { - if (old[0].device == '' || now[0].device == '') return '0kb/s'; + if (_old[0].device == '' || _now[0].device == '') return '0kb/s'; final idx = deviceIdx(device); final speedOutBytesPerSecond = - (now[idx].bytesOut - old[idx].bytesOut) / timeDiff; + (_now[idx].bytesOut - _old[idx].bytesOut) / timeDiff; return buildStandardOutput(speedOutBytesPerSecond); } int deviceIdx(String? device) { if (device != null) { - for (var item in now) { + for (var item in _now) { if (item.device == device) { - return now.indexOf(item); + return _now.indexOf(item); } } } diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 7a92a31e..e191bb17 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 = 154; + static const int build = 155; static const String engine = - "Flutter 3.3.4 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision eb6d86ee27 (2 weeks ago) • 2022-10-04 22:31:45 -0700\nEngine • revision c08d7d5efc\nTools • Dart 2.18.2 • DevTools 2.15.0\n"; - static const String buildAt = "2022-10-21 17:29:42.809139"; - static const int modifications = 9; + "Flutter 3.3.4 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision eb6d86ee27 (4 weeks ago) • 2022-10-04 22:31:45 -0700\nEngine • revision c08d7d5efc\nTools • Dart 2.18.2 • DevTools 2.15.0\n"; + static const String buildAt = "2022-11-05 21:49:47.105329"; + static const int modifications = 0; } diff --git a/lib/data/res/icon/linux_icons.dart b/lib/data/res/icon/linux_icons.dart index 1dbe6a87..17b8ae5c 100644 --- a/lib/data/res/icon/linux_icons.dart +++ b/lib/data/res/icon/linux_icons.dart @@ -1,5 +1,3 @@ -import 'package:toolbox/data/model/server/linux_icon.dart'; - final linuxIcons = LinuxIcons([ 'ubuntu', 'arch', @@ -8,5 +6,21 @@ final linuxIcons = LinuxIcons([ 'fedora', 'opensuse', 'kali', - 'wrt' + 'wrt', + 'armbian' ]); + +class LinuxIcons { + List db; + + LinuxIcons(this.db); + + String? search(String sysVer) { + for (var item in db) { + if (sysVer.toLowerCase().contains(item)) { + return 'assets/linux/$item.png'; + } + } + return null; + } +} diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index c6f5ce2b..80b7216b 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -420,14 +420,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 153; + CURRENT_PROJECT_VERSION = 155; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.153; + MARKETING_VERSION = 1.0.155; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; @@ -550,14 +550,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 153; + CURRENT_PROJECT_VERSION = 155; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.153; + MARKETING_VERSION = 1.0.155; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -574,14 +574,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 153; + CURRENT_PROJECT_VERSION = 155; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.153; + MARKETING_VERSION = 1.0.155; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; diff --git a/pubspec.yaml b/pubspec.yaml index ceed9251..9e1e6aaa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -94,6 +94,7 @@ flutter: - assets/linux/fedora.png - assets/linux/opensuse.png - assets/linux/wrt.png + - assets/linux/armbian.png # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see