diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 4616987b..33975b67 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -470,7 +470,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 412; + CURRENT_PROJECT_VERSION = 413; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -478,7 +478,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -602,7 +602,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 412; + CURRENT_PROJECT_VERSION = 413; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -610,7 +610,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -628,7 +628,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 412; + CURRENT_PROJECT_VERSION = 413; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -636,7 +636,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -657,7 +657,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 412; + CURRENT_PROJECT_VERSION = 413; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -670,7 +670,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; @@ -696,7 +696,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 412; + CURRENT_PROJECT_VERSION = 413; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -709,7 +709,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -732,7 +732,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 412; + CURRENT_PROJECT_VERSION = 413; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -745,7 +745,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/lib/data/model/server/private_key_info.dart b/lib/data/model/server/private_key_info.dart index bd21cb5c..1450231e 100644 --- a/lib/data/model/server/private_key_info.dart +++ b/lib/data/model/server/private_key_info.dart @@ -5,25 +5,21 @@ part 'private_key_info.g.dart'; @HiveType(typeId: 1) class PrivateKeyInfo { @HiveField(0) - late String id; + final String id; @HiveField(1) - late String key; - @Deprecated('Never use this field') - @HiveField(2) - late String password; + final String key; PrivateKeyInfo({ required this.id, required this.key, }); - PrivateKeyInfo.fromJson(Map json) { - id = json["id"].toString(); - key = json["private_key"].toString(); - } + PrivateKeyInfo.fromJson(Map json) + : id = json["id"].toString(), + key = json["private_key"].toString(); Map toJson() { - final Map data = {}; + final data = {}; data["id"] = id; data["private_key"] = key; return data; diff --git a/lib/data/model/server/private_key_info.g.dart b/lib/data/model/server/private_key_info.g.dart index 18a68f98..adceca72 100644 --- a/lib/data/model/server/private_key_info.g.dart +++ b/lib/data/model/server/private_key_info.g.dart @@ -25,14 +25,11 @@ class PrivateKeyInfoAdapter extends TypeAdapter { @override void write(BinaryWriter writer, PrivateKeyInfo obj) { writer - ..writeByte(3) + ..writeByte(2) ..writeByte(0) ..write(obj.id) ..writeByte(1) - ..write(obj.key) - ..writeByte(2) - // ignore: deprecated_member_use_from_same_package - ..write(obj.password); + ..write(obj.key); } @override diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index ff437cae..27cddd5f 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 = 412; + static const int build = 413; static const String engine = "3.10.6"; - static const String buildAt = "2023-08-04 22:48:00.585855"; - static const int modifications = 4; + static const String buildAt = "2023-08-04 23:23:25.517350"; + static const int modifications = 5; } diff --git a/lib/view/page/private_key/edit.dart b/lib/view/page/private_key/edit.dart index 442ff1bf..07ee547b 100644 --- a/lib/view/page/private_key/edit.dart +++ b/lib/view/page/private_key/edit.dart @@ -22,9 +22,9 @@ import '../../../locator.dart'; const _format = 'text/plain'; class PrivateKeyEditPage extends StatefulWidget { - const PrivateKeyEditPage({Key? key, this.info}) : super(key: key); + const PrivateKeyEditPage({Key? key, this.pki}) : super(key: key); - final PrivateKeyInfo? info; + final PrivateKeyInfo? pki; @override _PrivateKeyEditPageState createState() => _PrivateKeyEditPageState(); @@ -68,13 +68,13 @@ class _PrivateKeyEditPageState extends State } PreferredSizeWidget _buildAppBar() { - final actions = widget.info == null + final actions = widget.pki == null ? null : [ IconButton( tooltip: _s.delete, onPressed: () { - _provider.delete(widget.info!); + _provider.delete(widget.pki!); context.pop(); }, icon: const Icon(Icons.delete)) @@ -100,9 +100,14 @@ class _PrivateKeyEditPageState extends State setState(() { _loading = centerSizedLoading; }); - final info = PrivateKeyInfo(id: name, key: key); try { - info.key = await compute(decyptPem, [key, pwd]); + final decrypted = await compute(decyptPem, [key, pwd]); + final pki = PrivateKeyInfo(id: name, key: decrypted); + if (widget.pki != null) { + _provider.update(widget.pki!, pki); + } else { + _provider.add(pki); + } } catch (e) { showSnackBar(context, Text(e.toString())); rethrow; @@ -111,11 +116,6 @@ class _PrivateKeyEditPageState extends State _loading = nil; }); } - if (widget.info != null) { - _provider.update(widget.info!, info); - } else { - _provider.add(info); - } context.pop(); }, child: const Icon(Icons.save), @@ -192,9 +192,9 @@ class _PrivateKeyEditPageState extends State @override Future afterFirstLayout(BuildContext context) async { - if (widget.info != null) { - _nameController.text = widget.info!.id; - _keyController.text = widget.info!.key; + if (widget.pki != null) { + _nameController.text = widget.pki!.id; + _keyController.text = widget.pki!.key; } else { final clipdata = ((await Clipboard.getData(_format))?.text ?? '').trim(); if (clipdata.startsWith('-----BEGIN') && clipdata.endsWith('-----')) { diff --git a/lib/view/page/private_key/list.dart b/lib/view/page/private_key/list.dart index 14989a41..420391be 100644 --- a/lib/view/page/private_key/list.dart +++ b/lib/view/page/private_key/list.dart @@ -74,7 +74,7 @@ class _PrivateKeyListState extends State { title: Text(key.pkis[idx].id), trailing: TextButton( onPressed: () => AppRoute( - PrivateKeyEditPage(info: key.pkis[idx]), + PrivateKeyEditPage(pki: key.pkis[idx]), 'private key edit page', ).go(context), child: Text(_s.edit), @@ -108,7 +108,7 @@ class _PrivateKeyListState extends State { onPressed: () { context.pop(); AppRoute( - PrivateKeyEditPage(info: sysPk), + PrivateKeyEditPage(pki: sysPk), 'private key edit page', ).go(context); }, diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 9b0ab3f8..c0a9bd67 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 = 412; + CURRENT_PROJECT_VERSION = 413; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; 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 = 412; + CURRENT_PROJECT_VERSION = 413; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; 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 = 412; + CURRENT_PROJECT_VERSION = 413; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.412; + MARKETING_VERSION = 1.0.413; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0;