diff --git a/lib/models/model_owner.dart b/lib/models/model_owner.dart index 2a091ba51..d7db6871c 100644 --- a/lib/models/model_owner.dart +++ b/lib/models/model_owner.dart @@ -1,6 +1,6 @@ import 'package:PiliPlus/models/model_video.dart'; import 'package:PiliPlus/utils/utils.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; part 'model_owner.g.dart'; diff --git a/lib/models/user/danmaku_rule_adapter.dart b/lib/models/user/danmaku_rule_adapter.dart index 232a89d19..bd2488f59 100644 --- a/lib/models/user/danmaku_rule_adapter.dart +++ b/lib/models/user/danmaku_rule_adapter.dart @@ -1,5 +1,5 @@ import 'package:PiliPlus/models/user/danmaku_rule.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; class RuleFilterAdapter extends TypeAdapter { @override diff --git a/lib/models/user/info.dart b/lib/models/user/info.dart index 334e3f80a..b4eb0bc92 100644 --- a/lib/models/user/info.dart +++ b/lib/models/user/info.dart @@ -1,5 +1,5 @@ import 'package:PiliPlus/utils/extension/map_ext.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; part 'info.g.dart'; diff --git a/lib/models/user/stat.dart b/lib/models/user/stat.dart index e45fb9950..ac9394ca9 100644 --- a/lib/models/user/stat.dart +++ b/lib/models/user/stat.dart @@ -1,4 +1,4 @@ -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; part 'stat.g.dart'; diff --git a/lib/pages/search/controller.dart b/lib/pages/search/controller.dart index 87616cdac..bba91f97d 100644 --- a/lib/pages/search/controller.dart +++ b/lib/pages/search/controller.dart @@ -54,7 +54,7 @@ abstract class DebounceStreamState extends State class BaseSearchController extends GetxController { final historyList = List.from( - GStorage.historyWord.get('cacheList') ?? [], + GStorage.historyWord.get('cacheList') ?? const [], ).obs; late final Rx> trendingState; diff --git a/lib/pages/setting/pages/display_mode.dart b/lib/pages/setting/pages/display_mode.dart index 05adb68cb..7b5e25802 100644 --- a/lib/pages/setting/pages/display_mode.dart +++ b/lib/pages/setting/pages/display_mode.dart @@ -5,7 +5,7 @@ import 'package:flutter/foundation.dart' show kDebugMode; import 'package:flutter/material.dart'; import 'package:flutter/services.dart' show PlatformException; import 'package:flutter_displaymode/flutter_displaymode.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; class SetDisplayMode extends StatefulWidget { const SetDisplayMode({super.key}); diff --git a/lib/pages/setting/pages/play_speed_set.dart b/lib/pages/setting/pages/play_speed_set.dart index cf2277076..aa67061b3 100644 --- a/lib/pages/setting/pages/play_speed_set.dart +++ b/lib/pages/setting/pages/play_speed_set.dart @@ -11,7 +11,7 @@ import 'package:flutter/material.dart' hide ListTile; import 'package:flutter/services.dart' show FilteringTextInputFormatter; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; class PlaySpeedPage extends StatefulWidget { const PlaySpeedPage({super.key}); diff --git a/lib/pages/sponsor_block/view.dart b/lib/pages/sponsor_block/view.dart index a3fbf08dd..b372b532b 100644 --- a/lib/pages/sponsor_block/view.dart +++ b/lib/pages/sponsor_block/view.dart @@ -17,7 +17,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart' show FilteringTextInputFormatter; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; class SponsorBlockPage extends StatefulWidget { diff --git a/lib/pages/video/controller.dart b/lib/pages/video/controller.dart index ec45cb0aa..68c84e106 100644 --- a/lib/pages/video/controller.dart +++ b/lib/pages/video/controller.dart @@ -71,7 +71,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_volume_controller/flutter_volume_controller.dart'; import 'package:get/get.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; import 'package:media_kit/media_kit.dart' hide Subtitle; import 'package:path/path.dart' as path; diff --git a/lib/pages/video/widgets/header_control.dart b/lib/pages/video/widgets/header_control.dart index b2c6a3e6d..b6e49d32b 100644 --- a/lib/pages/video/widgets/header_control.dart +++ b/lib/pages/video/widgets/header_control.dart @@ -63,7 +63,7 @@ import 'package:flutter/material.dart' hide showBottomSheet; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:get/get.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; import 'package:intl/intl.dart' show DateFormat; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index b6836ac2d..e080f8432 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -53,7 +53,7 @@ import 'package:flutter/services.dart' show HapticFeedback; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_volume_controller/flutter_volume_controller.dart'; import 'package:get/get.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; import 'package:media_kit/media_kit.dart'; import 'package:media_kit_video/media_kit_video.dart'; import 'package:path/path.dart' as path; diff --git a/lib/utils/accounts.dart b/lib/utils/accounts.dart index 923291755..0a4d2cf48 100644 --- a/lib/utils/accounts.dart +++ b/lib/utils/accounts.dart @@ -3,7 +3,7 @@ import 'package:PiliPlus/models/common/account_type.dart'; import 'package:PiliPlus/pages/mine/controller.dart'; import 'package:PiliPlus/utils/accounts/account.dart'; import 'package:PiliPlus/utils/login_utils.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; abstract final class Accounts { static late final Box account; @@ -70,13 +70,13 @@ abstract final class Accounts { // } // } - static Future refresh() async { + static Future refresh() { for (final a in account.values) { for (final t in a.type) { accountMode[t.index] = a; } } - await Future.wait( + return Future.wait( (accountMode.toSet()..removeWhere((i) => i.activated)).map( Request.buvidActive, ), diff --git a/lib/utils/accounts/account.dart b/lib/utils/accounts/account.dart index b1420439c..031957e95 100644 --- a/lib/utils/accounts/account.dart +++ b/lib/utils/accounts/account.dart @@ -4,7 +4,7 @@ import 'package:PiliPlus/utils/accounts.dart'; import 'package:PiliPlus/utils/accounts/grpc_headers.dart'; import 'package:PiliPlus/utils/id_utils.dart'; import 'package:cookie_jar/cookie_jar.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; sealed class Account { Map? toJson() => null; diff --git a/lib/utils/accounts/account_adapter.dart b/lib/utils/accounts/account_adapter.dart index 2f4873374..6e742b1d2 100644 --- a/lib/utils/accounts/account_adapter.dart +++ b/lib/utils/accounts/account_adapter.dart @@ -1,7 +1,7 @@ import 'package:PiliPlus/models/common/account_type.dart'; import 'package:PiliPlus/utils/accounts/account.dart'; import 'package:cookie_jar/cookie_jar.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; class LoginAccountAdapter extends TypeAdapter { @override diff --git a/lib/utils/accounts/account_type_adapter.dart b/lib/utils/accounts/account_type_adapter.dart index abe1b8aa4..260010895 100644 --- a/lib/utils/accounts/account_type_adapter.dart +++ b/lib/utils/accounts/account_type_adapter.dart @@ -1,5 +1,5 @@ import 'package:PiliPlus/models/common/account_type.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; class AccountTypeAdapter extends TypeAdapter { @override diff --git a/lib/utils/accounts/cookie_jar_adapter.dart b/lib/utils/accounts/cookie_jar_adapter.dart index b7d87c127..7762d91e2 100644 --- a/lib/utils/accounts/cookie_jar_adapter.dart +++ b/lib/utils/accounts/cookie_jar_adapter.dart @@ -1,6 +1,6 @@ import 'package:PiliPlus/utils/accounts/account.dart'; import 'package:cookie_jar/cookie_jar.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; class BiliCookieJarAdapter extends TypeAdapter { @override diff --git a/lib/utils/extension/box_ext.dart b/lib/utils/extension/box_ext.dart index 64fc6dba4..fca90a9ef 100644 --- a/lib/utils/extension/box_ext.dart +++ b/lib/utils/extension/box_ext.dart @@ -1,5 +1,5 @@ import 'package:collection/collection.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; extension BoxExt on Box { bool equal(dynamic key, E value) { diff --git a/lib/utils/set_int_adapter.dart b/lib/utils/set_int_adapter.dart index 2179ed85a..3e4090094 100644 --- a/lib/utils/set_int_adapter.dart +++ b/lib/utils/set_int_adapter.dart @@ -1,4 +1,4 @@ -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; class SetIntAdapter extends TypeAdapter> { @override diff --git a/lib/utils/storage.dart b/lib/utils/storage.dart index 79482d14b..b364d254b 100644 --- a/lib/utils/storage.dart +++ b/lib/utils/storage.dart @@ -12,7 +12,7 @@ import 'package:PiliPlus/utils/path_utils.dart'; import 'package:PiliPlus/utils/set_int_adapter.dart'; import 'package:PiliPlus/utils/storage_pref.dart'; import 'package:PiliPlus/utils/utils.dart'; -import 'package:hive_flutter/hive_flutter.dart'; +import 'package:hive_ce/hive.dart'; import 'package:path/path.dart' as path; abstract final class GStorage { @@ -25,7 +25,7 @@ abstract final class GStorage { static late final Box? reply; static Future init() async { - await Hive.initFlutter(path.join(appSupportDirPath, 'hive')); + Hive.init(path.join(appSupportDirPath, 'hive')); regAdapter(); await Future.wait([ @@ -57,7 +57,7 @@ abstract final class GStorage { Accounts.init(), Hive.openBox( 'watchProgress', - keyComparator: _intStrKeyComparator, + keyComparator: _intStrDescKeyComparator, compactionStrategy: (entries, deletedEntries) { return deletedEntries > 4; }, @@ -67,7 +67,7 @@ abstract final class GStorage { if (Pref.saveReply) { reply = await Hive.openBox( 'reply', - keyComparator: _intStrKeyComparator, + keyComparator: _intStrDescKeyComparator, compactionStrategy: (entries, deletedEntries) { return deletedEntries > 10; }, @@ -147,7 +147,7 @@ abstract final class GStorage { ]); } - static int _intStrKeyComparator(dynamic k1, dynamic k2) { + static int _intStrDescKeyComparator(dynamic k1, dynamic k2) { if (k1 is int) { if (k2 is int) { return k2.compareTo(k1); diff --git a/lib/utils/storage_pref.dart b/lib/utils/storage_pref.dart index cf8448a8a..5bdc570f5 100644 --- a/lib/utils/storage_pref.dart +++ b/lib/utils/storage_pref.dart @@ -43,7 +43,7 @@ import 'package:flex_seed_scheme/flex_seed_scheme.dart' show FlexSchemeVariant; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; abstract final class Pref { static final Box _setting = GStorage.setting; diff --git a/lib/utils/wbi_sign.dart b/lib/utils/wbi_sign.dart index 644d83952..a67719619 100644 --- a/lib/utils/wbi_sign.dart +++ b/lib/utils/wbi_sign.dart @@ -11,7 +11,7 @@ import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/storage_key.dart'; import 'package:PiliPlus/utils/utils.dart'; import 'package:crypto/crypto.dart'; -import 'package:hive/hive.dart'; +import 'package:hive_ce/hive.dart'; abstract final class WbiSign { static Box get _localCache => GStorage.localCache; diff --git a/pubspec.lock b/pubspec.lock index 1c903d524..37b943285 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -838,22 +838,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" - hive: + hive_ce: dependency: "direct main" description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" + name: hive_ce + sha256: "8e9980e68643afb1e765d3af32b47996552a64e190d03faf622cea07c1294418" url: "https://pub.dev" source: hosted - version: "2.2.3" - hive_flutter: - dependency: "direct main" - description: - name: hive_flutter - sha256: dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc - url: "https://pub.dev" - source: hosted - version: "1.1.0" + version: "2.19.3" hooks: dependency: transitive description: @@ -1014,6 +1006,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.5" + isolate_channel: + dependency: transitive + description: + name: isolate_channel + sha256: a9d3d620695bc984244dafae00b95e4319d6974b2d77f4b9e1eb4f2efe099094 + url: "https://pub.dev" + source: hosted + version: "0.6.1" js: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 881d5a56f..a21df530a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -63,8 +63,7 @@ dependencies: # 存储 path_provider: ^2.1.5 - hive: ^2.2.3 - hive_flutter: ^1.1.0 + hive_ce: ^2.19.3 # 设备信息 device_info_plus: ^12.1.0