From f281e6e36a5673b7527be4ddf0ec75f827a8c11e Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Sat, 26 Jul 2025 23:21:14 +0800 Subject: [PATCH] fix #897 Signed-off-by: bggRGjQaUbCoE --- lib/pages/home/controller.dart | 5 +---- lib/utils/storage_pref.dart | 40 ++++++++++++++-------------------- 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/lib/pages/home/controller.dart b/lib/pages/home/controller.dart index b19b450a..9b588d81 100644 --- a/lib/pages/home/controller.dart +++ b/lib/pages/home/controller.dart @@ -8,8 +8,6 @@ import 'package:PiliPlus/pages/common/common_controller.dart'; import 'package:PiliPlus/pages/mine/view.dart'; import 'package:PiliPlus/services/account_service.dart'; import 'package:PiliPlus/utils/feed_back.dart'; -import 'package:PiliPlus/utils/storage.dart'; -import 'package:PiliPlus/utils/storage_key.dart'; import 'package:PiliPlus/utils/storage_pref.dart'; import 'package:flutter/foundation.dart' show kDebugMode; import 'package:flutter/material.dart'; @@ -59,9 +57,8 @@ class HomeController extends GetxController } void setTabConfig() { - List? localTabs = GStorage.setting.get(SettingBoxKey.tabBarSort); tabs = - localTabs?.map((i) => HomeTabType.values[i]).toList() ?? + Pref.tabbarSort?.map((i) => HomeTabType.values[i]).toList() ?? HomeTabType.values; tabController = TabController( diff --git a/lib/utils/storage_pref.dart b/lib/utils/storage_pref.dart index 87cc7f3e..27ff8320 100644 --- a/lib/utils/storage_pref.dart +++ b/lib/utils/storage_pref.dart @@ -5,7 +5,6 @@ import 'package:PiliPlus/common/widgets/pair.dart'; import 'package:PiliPlus/http/constants.dart'; import 'package:PiliPlus/models/common/dynamic/dynamic_badge_mode.dart'; import 'package:PiliPlus/models/common/dynamic/up_panel_position.dart'; -import 'package:PiliPlus/models/common/home_tab_type.dart'; import 'package:PiliPlus/models/common/member/tab_type.dart'; import 'package:PiliPlus/models/common/msg/msg_unread_type.dart'; import 'package:PiliPlus/models/common/sponsor_block/segment_type.dart'; @@ -95,41 +94,34 @@ class Pref { ), ); - static List get tabbarSort => List.from( - _setting.get(SettingBoxKey.tabBarSort) ?? - HomeTabType.values.map((item) => item.index).toList(), - ); + static List? get tabbarSort => + (_setting.get(SettingBoxKey.tabBarSort) as List?)?.cast(); static List> get blockSettings { - List list = List.from( - _setting.get(SettingBoxKey.blockSettings) ?? - List.generate(SegmentType.values.length, (_) => 1), - ); + List? list = (_setting.get(SettingBoxKey.blockSettings) as List?) + ?.cast(); return SegmentType.values .map( (item) => Pair( first: item, - second: SkipType.values[list[item.index]], + second: SkipType.values[list?[item.index] ?? 1], ), ) .toList(); } static List get blockColor { - List list = List.from( - _setting.get(SettingBoxKey.blockColor) ?? - List.generate(SegmentType.values.length, (_) => ''), - ); - return SegmentType.values - .map( - (item) => list[item.index].isNotEmpty - ? Color( - int.tryParse('FF${list[item.index]}', radix: 16) ?? - 0xFF000000, - ) - : item.color, - ) - .toList(); + List? list = (_setting.get(SettingBoxKey.blockColor) as List?) + ?.cast(); + return SegmentType.values.map( + (item) { + final e = list?[item.index]; + final color = e != null && e.isNotEmpty + ? int.tryParse('FF$e', radix: 16) + : null; + return color != null ? Color(color) : item.color; + }, + ).toList(); } static bool get hiddenSettingUnlocked =>