diff --git a/lib/common/widgets/flutter/text_field/controller.dart b/lib/common/widgets/flutter/text_field/controller.dart index 471391013..f743e3b51 100644 --- a/lib/common/widgets/flutter/text_field/controller.dart +++ b/lib/common/widgets/flutter/text_field/controller.dart @@ -704,11 +704,11 @@ class RichTextEditingController extends TextEditingController { } } - if (addIndex != null && toAdd?.isNotEmpty == true) { - items.insertAll(addIndex, toAdd!); + if (addIndex != null && toAdd != null && toAdd.isNotEmpty == true) { + items.insertAll(addIndex, toAdd); } - if (toDel?.isNotEmpty == true) { - for (var item in toDel!) { + if (toDel != null && toDel.isNotEmpty) { + for (var item in toDel) { items.remove(item); } } diff --git a/lib/common/widgets/image/image_save.dart b/lib/common/widgets/image/image_save.dart index 7da6da54a..b6088ada0 100644 --- a/lib/common/widgets/image/image_save.dart +++ b/lib/common/widgets/image/image_save.dart @@ -104,13 +104,13 @@ void imageSaveDialog({ }, icon: const Icon(Icons.watch_later_outlined), ), - if (cover?.isNotEmpty == true) ...[ + if (cover != null && cover.isNotEmpty) ...[ if (Utils.isMobile) iconBtn( tooltip: '分享', onPressed: () { SmartDialog.dismiss(); - ImageUtils.onShareImg(cover!); + ImageUtils.onShareImg(cover); }, icon: const Icon(Icons.share), ), @@ -119,7 +119,7 @@ void imageSaveDialog({ onPressed: () async { bool saveStatus = await ImageUtils.downloadImg( context, - [cover!], + [cover], ); if (saveStatus) { SmartDialog.dismiss(); diff --git a/lib/common/widgets/video_card/video_card_h.dart b/lib/common/widgets/video_card/video_card_h.dart index 7512db3ec..bf31a70e3 100644 --- a/lib/common/widgets/video_card/video_card_h.dart +++ b/lib/common/widgets/video_card/video_card_h.dart @@ -38,8 +38,8 @@ class VideoCardH extends StatelessWidget { String? badge; if (videoItem case SearchVideoItemModel item) { var typeOrNull = item.type; - if (typeOrNull?.isNotEmpty == true) { - type = typeOrNull!; + if (typeOrNull != null && typeOrNull.isNotEmpty) { + type = typeOrNull; if (type == 'ketang') { badge = '课堂'; } else if (type == 'live_room') { diff --git a/lib/http/dynamics.dart b/lib/http/dynamics.dart index 1614fb654..d40b6c851 100644 --- a/lib/http/dynamics.dart +++ b/lib/http/dynamics.dart @@ -185,7 +185,7 @@ class DynamicsHttp { }, ...?extraContent, ], - if (title?.isNotEmpty == true) 'title': title, + if (title != null && title.isNotEmpty) 'title': title, }, if (privatePub != null || replyOption != null || publishTime != null) "option": { @@ -552,7 +552,7 @@ class DynamicsHttp { final res = await Request().get( Api.dynMention, queryParameters: { - if (keyword?.isNotEmpty == true) 'keyword': keyword, + if (keyword != null && keyword.isNotEmpty) 'keyword': keyword, 'web_location': 333.1365, }, ); diff --git a/lib/http/search.dart b/lib/http/search.dart index 79f5a7d0e..74ede7c2e 100644 --- a/lib/http/search.dart +++ b/lib/http/search.dart @@ -63,7 +63,7 @@ class SearchHttp { 'search_type': searchType.name, 'keyword': keyword, 'page': page, - if (order?.isNotEmpty == true) 'order': order, + if (order != null && order.isNotEmpty) 'order': order, 'duration': ?duration, 'tids': ?tids, 'order_sort': ?orderSort, @@ -146,7 +146,7 @@ class SearchHttp { var params = await WbiSign.makSign({ 'keyword': keyword, 'page': page, - if (order?.isNotEmpty == true) 'order': order, + if (order != null && order.isNotEmpty) 'order': order, 'duration': ?duration, 'tids': ?tids, 'order_sort': ?orderSort, diff --git a/lib/pages/article/widgets/opus_content.dart b/lib/pages/article/widgets/opus_content.dart index 7df0fb631..001bfd63d 100644 --- a/lib/pages/article/widgets/opus_content.dart +++ b/lib/pages/article/widgets/opus_content.dart @@ -302,8 +302,8 @@ class OpusContent extends StatelessWidget { element.linkCard!.card!.music!.jumpUrl, _ => null, }; - if (url?.isNotEmpty == true) { - PiliScheme.routePushFromUrl(url!); + if (url != null && url.isNotEmpty) { + PiliScheme.routePushFromUrl(url); } } catch (_) {} }, diff --git a/lib/pages/article_list/view.dart b/lib/pages/article_list/view.dart index bf4b39138..039e662c8 100644 --- a/lib/pages/article_list/view.dart +++ b/lib/pages/article_list/view.dart @@ -74,12 +74,12 @@ class _ArticleListPageState extends State with GridMixin { return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) => ArticleListItem(item: response[index]), - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/blacklist/view.dart b/lib/pages/blacklist/view.dart index 6b03a900f..18617b207 100644 --- a/lib/pages/blacklist/view.dart +++ b/lib/pages/blacklist/view.dart @@ -75,9 +75,9 @@ class _BlackListPageState extends State { itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.builder( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (BuildContext context, int index) { if (index == response.length - 1) { _blackListController.onLoadMore(); diff --git a/lib/pages/common/common_whisper_controller.dart b/lib/pages/common/common_whisper_controller.dart index 479228cb2..720c5b96a 100644 --- a/lib/pages/common/common_whisper_controller.dart +++ b/lib/pages/common/common_whisper_controller.dart @@ -67,8 +67,8 @@ abstract class CommonWhisperController if (res.isSuccess) { if (loadingState.value.isSuccess) { List? list = loadingState.value.data; - if (list?.isNotEmpty == true) { - for (var item in list!) { + if (list != null && list.isNotEmpty) { + for (var item in list) { if (item.hasUnread()) { item.clearUnread(); } diff --git a/lib/pages/common/dyn/common_dyn_page.dart b/lib/pages/common/dyn/common_dyn_page.dart index bf5874622..ac86c63ae 100644 --- a/lib/pages/common/dyn/common_dyn_page.dart +++ b/lib/pages/common/dyn/common_dyn_page.dart @@ -149,9 +149,9 @@ abstract class CommonDynPageState extends State itemBuilder: (context, index) => const VideoReplySkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.builder( - itemCount: response!.length + 1, + itemCount: response.length + 1, itemBuilder: (context, index) { if (index == response.length) { controller.onLoadMore(); diff --git a/lib/pages/common/multi_select/base.dart b/lib/pages/common/multi_select/base.dart index 875aab564..0b72dff8d 100644 --- a/lib/pages/common/multi_select/base.dart +++ b/lib/pages/common/multi_select/base.dart @@ -93,8 +93,8 @@ mixin CommonMultiSelectMixin void handleSelect({bool checked = false, bool disableSelect = true}) { if (loadingState.value.isSuccess) { final list = loadingState.value.data; - if (list?.isNotEmpty == true) { - for (var item in list!) { + if (list != null && list.isNotEmpty) { + for (var item in list) { item.checked = checked; } loadingState.refresh(); @@ -165,7 +165,7 @@ mixin DeleteItemMixin // void handleSelect([bool checked = false, bool disableSelect = true]) { // if (loadingState.value.isSuccess) { // final list = loadingState.value.data; -// if (list?.isNotEmpty == true) { +// if (list != null && list.isNotEmpty) { // if (checked) { // selected.addAll(list!.map(getId)); // } else { diff --git a/lib/pages/common/search/common_search_page.dart b/lib/pages/common/search/common_search_page.dart index a1cd3e1c1..aa465b323 100644 --- a/lib/pages/common/search/common_search_page.dart +++ b/lib/pages/common/search/common_search_page.dart @@ -95,8 +95,8 @@ abstract class CommonSearchPageState return switch (loadingState) { Loading() => const HttpError(), Success(:var response) => - response?.isNotEmpty == true - ? buildList(response!) + response != null && response.isNotEmpty + ? buildList(response) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( errMsg: errMsg, diff --git a/lib/pages/dynamics/widgets/content_panel.dart b/lib/pages/dynamics/widgets/content_panel.dart index 00e7ab09b..52493ff19 100644 --- a/lib/pages/dynamics/widgets/content_panel.dart +++ b/lib/pages/dynamics/widgets/content_panel.dart @@ -88,10 +88,10 @@ Widget content( onShowMore: () => PageUtils.pushDynDetail(item, isPush: true), primary: theme.colorScheme.primary, ), - if (pics?.isNotEmpty == true) + if (pics != null && pics.isNotEmpty) CustomGridView( maxWidth: maxWidth, - picArr: pics! + picArr: pics .map( (item) => ImageModel( width: item.width, diff --git a/lib/pages/dynamics/widgets/rich_node_panel.dart b/lib/pages/dynamics/widgets/rich_node_panel.dart index d05a3e18d..398624e37 100644 --- a/lib/pages/dynamics/widgets/rich_node_panel.dart +++ b/lib/pages/dynamics/widgets/rich_node_panel.dart @@ -294,8 +294,8 @@ TextSpan? richNode( } else { i.dynPic = list; } - if (list?.isNotEmpty == true) { - onView(list!); + if (list != null && list.isNotEmpty) { + onView(list); } } else { res.toast(); diff --git a/lib/pages/dynamics/widgets/up_panel.dart b/lib/pages/dynamics/widgets/up_panel.dart index fcc5fdb07..7b8ee5edc 100644 --- a/lib/pages/dynamics/widgets/up_panel.dart +++ b/lib/pages/dynamics/widgets/up_panel.dart @@ -94,9 +94,9 @@ class _UpPanelState extends State { ), ), ), - if (controller.showLiveUp && liveList?.isNotEmpty == true) + if (controller.showLiveUp && liveList != null && liveList.isNotEmpty) SliverList.builder( - itemCount: liveList!.length, + itemCount: liveList.length, itemBuilder: (context, index) { return upItemBuild(theme, liveList[index]); }, diff --git a/lib/pages/dynamics_detail/controller.dart b/lib/pages/dynamics_detail/controller.dart index df039e7ed..1374d0c34 100644 --- a/lib/pages/dynamics_detail/controller.dart +++ b/lib/pages/dynamics_detail/controller.dart @@ -25,8 +25,9 @@ class DynamicDetailController extends CommonDynController { var commentIdStr = dynItem.basic?.commentIdStr; if (commentType != null && commentType != 0 && - commentIdStr?.isNotEmpty == true) { - _init(commentIdStr!, commentType); + commentIdStr != null && + commentIdStr.isNotEmpty) { + _init(commentIdStr, commentType); } else { DynamicsHttp.dynamicDetail(id: dynItem.idStr).then((res) { if (res.isSuccess) { diff --git a/lib/pages/dynamics_mention/view.dart b/lib/pages/dynamics_mention/view.dart index 8769bf7e9..199b616dd 100644 --- a/lib/pages/dynamics_mention/view.dart +++ b/lib/pages/dynamics_mention/view.dart @@ -237,9 +237,9 @@ class _DynMentionPanelState sliver: linearLoading, ), Success?>(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverMainAxisGroup( - slivers: response!.map((group) { + slivers: response.map((group) { if (group.items.isNullOrEmpty) { return const SliverToBoxAdapter(); } diff --git a/lib/pages/dynamics_select_topic/view.dart b/lib/pages/dynamics_select_topic/view.dart index 30e4226ef..1957edebf 100644 --- a/lib/pages/dynamics_select_topic/view.dart +++ b/lib/pages/dynamics_select_topic/view.dart @@ -189,7 +189,7 @@ class _SelectTopicPanelState return switch (loadingState) { Loading() => loadingWidget, Success?>(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? ListView.builder( padding: EdgeInsets.only( bottom: MediaQuery.viewPaddingOf(context).bottom + 100, @@ -204,7 +204,7 @@ class _SelectTopicPanelState onTap: (item) => Get.back(result: item), ); }, - itemCount: response!.length, + itemCount: response.length, ) : _errWidget(), Error(:var errMsg) => _errWidget(errMsg), diff --git a/lib/pages/dynamics_tab/view.dart b/lib/pages/dynamics_tab/view.dart index e8efa6782..68717c88c 100644 --- a/lib/pages/dynamics_tab/view.dart +++ b/lib/pages/dynamics_tab/view.dart @@ -114,7 +114,7 @@ class _DynamicsTabPageState return switch (loadingState) { Loading() => dynSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? GlobalData().dynamicsWaterfallFlow ? SliverWaterfallFlow( gridDelegate: dynGridDelegate, @@ -133,7 +133,7 @@ class _DynamicsTabPageState onUnfold: () => controller.onUnfold(item, index), ); }, - childCount: response!.length, + childCount: response.length, ), ) : SliverList.builder( @@ -151,7 +151,7 @@ class _DynamicsTabPageState onUnfold: () => controller.onUnfold(item, index), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/dynamics_topic/view.dart b/lib/pages/dynamics_topic/view.dart index a200b5ee4..7080c776d 100644 --- a/lib/pages/dynamics_topic/view.dart +++ b/lib/pages/dynamics_topic/view.dart @@ -348,7 +348,7 @@ class _DynTopicPageState extends State with DynMixin { return switch (loadingState) { Loading() => dynSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? GlobalData().dynamicsWaterfallFlow ? SliverWaterfallFlow( gridDelegate: dynGridDelegate, @@ -368,7 +368,7 @@ class _DynTopicPageState extends State with DynMixin { return Text(item.topicType ?? 'err'); }, - childCount: response!.length, + childCount: response.length, ), ) : SliverList.builder( @@ -386,7 +386,7 @@ class _DynTopicPageState extends State with DynMixin { return Text(item.topicType ?? 'err'); } }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/dynamics_topic_rcmd/view.dart b/lib/pages/dynamics_topic_rcmd/view.dart index 854a71a96..88b8c1f42 100644 --- a/lib/pages/dynamics_topic_rcmd/view.dart +++ b/lib/pages/dynamics_topic_rcmd/view.dart @@ -42,9 +42,9 @@ class _DynTopicRcmdPageState extends State { return switch (loadingState) { Loading() => linearLoading, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.builder( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { return DynTopicItem( item: response[index], diff --git a/lib/pages/emote/view.dart b/lib/pages/emote/view.dart index cdb6a557f..257fe9e56 100644 --- a/lib/pages/emote/view.dart +++ b/lib/pages/emote/view.dart @@ -50,13 +50,13 @@ class _EmotePanelState extends State return switch (loadingState) { Loading() => loadingWidget, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Column( children: [ Expanded( child: tabBarView( controller: _emotePanelController.tabController, - children: response!.map( + children: response.map( (e) { final emote = e.emote; if (emote == null || emote.isEmpty) { diff --git a/lib/pages/fav/article/view.dart b/lib/pages/fav/article/view.dart index c16ff80b6..d05288935 100644 --- a/lib/pages/fav/article/view.dart +++ b/lib/pages/fav/article/view.dart @@ -52,7 +52,7 @@ class _FavArticlePageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -70,7 +70,7 @@ class _FavArticlePageState extends State ), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _favArticleController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/fav/cheese/view.dart b/lib/pages/fav/cheese/view.dart index f16dc1b7c..d93a71ecb 100644 --- a/lib/pages/fav/cheese/view.dart +++ b/lib/pages/fav/cheese/view.dart @@ -54,7 +54,7 @@ class _FavCheesePageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -72,7 +72,7 @@ class _FavCheesePageState extends State ), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/fav/note/child_view.dart b/lib/pages/fav/note/child_view.dart index a56d2cdbd..d664ac023 100644 --- a/lib/pages/fav/note/child_view.dart +++ b/lib/pages/fav/note/child_view.dart @@ -141,7 +141,7 @@ class _FavNoteChildPageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -155,7 +155,7 @@ class _FavNoteChildPageState extends State onSelect: () => _favNoteController.onSelect(item), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _favNoteController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/fav/pgc/child_view.dart b/lib/pages/fav/pgc/child_view.dart index f62d82457..df89f6d1e 100644 --- a/lib/pages/fav/pgc/child_view.dart +++ b/lib/pages/fav/pgc/child_view.dart @@ -170,7 +170,7 @@ class _FavPgcChildPageState extends State itemCount: 10, ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -203,7 +203,7 @@ class _FavPgcChildPageState extends State ), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _favPgcController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/fav/topic/view.dart b/lib/pages/fav/topic/view.dart index fd5b02da3..7d0264177 100644 --- a/lib/pages/fav/topic/view.dart +++ b/lib/pages/fav/topic/view.dart @@ -72,7 +72,7 @@ class _FavTopicPageState extends State ), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -122,7 +122,7 @@ class _FavTopicPageState extends State ), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/fav/video/view.dart b/lib/pages/fav/video/view.dart index 61e43113f..7d2e394d4 100644 --- a/lib/pages/fav/video/view.dart +++ b/lib/pages/fav/video/view.dart @@ -50,7 +50,7 @@ class _FavVideoPageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (BuildContext context, int index) { @@ -79,7 +79,7 @@ class _FavVideoPageState extends State }, ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _favController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/fav/view.dart b/lib/pages/fav/view.dart index fcc51cdde..cef9341c6 100644 --- a/lib/pages/fav/view.dart +++ b/lib/pages/fav/view.dart @@ -67,8 +67,8 @@ class _FavPageState extends State with SingleTickerProviderStateMixin { _favController.loadingState.value.isSuccess ? _favController.loadingState.value.data : null; - if (list?.isNotEmpty == true) { - list!.insert(1, data); + if (list != null && list.isNotEmpty) { + list.insert(1, data); _favController.loadingState.refresh(); } else { _favController.loadingState.value = Success([data]); diff --git a/lib/pages/fav_detail/view.dart b/lib/pages/fav_detail/view.dart index c06d0a39e..b5297f449 100644 --- a/lib/pages/fav_detail/view.dart +++ b/lib/pages/fav_detail/view.dart @@ -486,7 +486,7 @@ class _FavDetailPageState extends State with GridMixin { return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -511,7 +511,7 @@ class _FavDetailPageState extends State with GridMixin { ctr: _favDetailController, ); }, - itemCount: response!.length + 1, + itemCount: response.length + 1, ) : HttpError(onReload: _favDetailController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/follow/child/child_view.dart b/lib/pages/follow/child/child_view.dart index e1f8f9c67..cf6c3edca 100644 --- a/lib/pages/follow/child/child_view.dart +++ b/lib/pages/follow/child/child_view.dart @@ -106,9 +106,9 @@ class _FollowChildPageState extends State itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.builder( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { if (index == response.length - 1) { _followController.onLoadMore(); @@ -139,7 +139,7 @@ class _FollowChildPageState extends State ) { return switch (state) { Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: [ SliverToBoxAdapter( @@ -170,7 +170,7 @@ class _FollowChildPageState extends State ), ), SliverList.builder( - itemCount: min(3, response!.length), + itemCount: min(3, response.length), itemBuilder: (_, index) => FollowItem(item: response[index]), ), diff --git a/lib/pages/follow_type/view.dart b/lib/pages/follow_type/view.dart index b8f16d851..b281d7aad 100644 --- a/lib/pages/follow_type/view.dart +++ b/lib/pages/follow_type/view.dart @@ -55,7 +55,7 @@ abstract class FollowTypePageState extends State { itemCount: 16, ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -64,7 +64,7 @@ abstract class FollowTypePageState extends State { } return buildItem(index, response[index]); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/history/view.dart b/lib/pages/history/view.dart index 3d4c6dd0f..590ac7086 100644 --- a/lib/pages/history/view.dart +++ b/lib/pages/history/view.dart @@ -218,7 +218,7 @@ class _HistoryPageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -233,7 +233,7 @@ class _HistoryPageState extends State _historyController.delHistory(item), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _historyController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/hot/view.dart b/lib/pages/hot/view.dart index 40abdebcc..7452fa9ad 100644 --- a/lib/pages/hot/view.dart +++ b/lib/pages/hot/view.dart @@ -143,7 +143,7 @@ class _HotPageState extends CommonPageState return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -157,7 +157,7 @@ class _HotPageState extends CommonPageState ..refresh(), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/later/child_view.dart b/lib/pages/later/child_view.dart index 8776aa44e..01456e9f1 100644 --- a/lib/pages/later/child_view.dart +++ b/lib/pages/later/child_view.dart @@ -60,7 +60,7 @@ class _LaterViewChildPageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -95,7 +95,7 @@ class _LaterViewChildPageState extends State }, ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _laterController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/later/widgets/video_card_h_later.dart b/lib/pages/later/widgets/video_card_h_later.dart index fbadb6609..445535ebb 100644 --- a/lib/pages/later/widgets/video_card_h_later.dart +++ b/lib/pages/later/widgets/video_card_h_later.dart @@ -36,8 +36,8 @@ class VideoCardHLater extends StatelessWidget { String type = 'video'; if (videoItem case SearchVideoItemModel item) { var typeOrNull = item.type; - if (typeOrNull?.isNotEmpty == true) { - type = typeOrNull!; + if (typeOrNull != null && typeOrNull.isNotEmpty) { + type = typeOrNull; } } final theme = Theme.of(context); diff --git a/lib/pages/live/view.dart b/lib/pages/live/view.dart index f3f20a0f2..9caf28246 100644 --- a/lib/pages/live/view.dart +++ b/lib/pages/live/view.dart @@ -179,43 +179,44 @@ class _LivePageState extends CommonPageState ), Success(:var response) => SliverMainAxisGroup( slivers: [ - if (controller.newTags?.isNotEmpty == true) - SliverToBoxAdapter( - child: SelfSizedHorizontalList( - gapSize: 12, - padding: const EdgeInsets.only(bottom: 8), - childBuilder: (index) { - late final item = controller.newTags![index]; - return Obx( - () { - final isCurr = index == controller.tagIndex.value; - return SearchText( - fontSize: 13, - padding: const EdgeInsets.symmetric( - horizontal: 8, - vertical: 3, - ), - text: '${item.name}', - bgColor: isCurr - ? theme.colorScheme.secondaryContainer - : Colors.transparent, - textColor: isCurr - ? theme.colorScheme.onSecondaryContainer - : null, - onTap: (value) { - controller.onSelectTag( - index, - item.sortType, - ); - }, - ); - }, - ); - }, - itemCount: controller.newTags!.length, + if (controller.newTags case final newTags?) + if (newTags.isNotEmpty) + SliverToBoxAdapter( + child: SelfSizedHorizontalList( + gapSize: 12, + padding: const EdgeInsets.only(bottom: 8), + childBuilder: (index) { + late final item = newTags[index]; + return Obx( + () { + final isCurr = index == controller.tagIndex.value; + return SearchText( + fontSize: 13, + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 3, + ), + text: '${item.name}', + bgColor: isCurr + ? theme.colorScheme.secondaryContainer + : Colors.transparent, + textColor: isCurr + ? theme.colorScheme.onSecondaryContainer + : null, + onTap: (value) { + controller.onSelectTag( + index, + item.sortType, + ); + }, + ); + }, + ); + }, + itemCount: newTags.length, + ), ), - ), - response?.isNotEmpty == true + response != null && response.isNotEmpty == true ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -230,7 +231,7 @@ class _LivePageState extends CommonPageState } return LiveCardVApp(item: item); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: controller.onReload), ], diff --git a/lib/pages/live_area/view.dart b/lib/pages/live_area/view.dart index f8dff4379..b1ca6d54d 100644 --- a/lib/pages/live_area/view.dart +++ b/lib/pages/live_area/view.dart @@ -79,9 +79,9 @@ class _LiveAreaPageState extends State { return switch (loadingState) { Loading() => const SizedBox.shrink(), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? DefaultTabController( - length: response!.length, + length: response.length, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -191,7 +191,7 @@ class _LiveAreaPageState extends State { ), ), const SizedBox(height: 8), - if (list?.isNotEmpty == true) ...[ + if (list != null && list.isNotEmpty) ...[ SortableWrap( onSortStart: (index) { _controller.isEditing.value = true; @@ -201,7 +201,7 @@ class _LiveAreaPageState extends State { }, spacing: 12, runSpacing: 8, - children: list! + children: list .map( (item) => _favTagItem( theme: theme, diff --git a/lib/pages/live_area_detail/child/view.dart b/lib/pages/live_area_detail/child/view.dart index e9f4fe95e..9da3eee0f 100644 --- a/lib/pages/live_area_detail/child/view.dart +++ b/lib/pages/live_area_detail/child/view.dart @@ -117,7 +117,7 @@ class _LiveAreaChildPageState extends State ), ), ), - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -126,7 +126,7 @@ class _LiveAreaChildPageState extends State } return LiveCardVApp(item: response[index]); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), ], diff --git a/lib/pages/live_area_detail/controller.dart b/lib/pages/live_area_detail/controller.dart index ec54c3ed2..c86a38203 100644 --- a/lib/pages/live_area_detail/controller.dart +++ b/lib/pages/live_area_detail/controller.dart @@ -21,8 +21,8 @@ class LiveAreaDatailController @override List? getDataList(List? response) { - if (response?.isNotEmpty == true) { - initialIndex = max(0, response!.indexWhere((e) => e.id == areaId)); + if (response != null && response.isNotEmpty) { + initialIndex = max(0, response.indexWhere((e) => e.id == areaId)); } return response; } diff --git a/lib/pages/live_area_detail/view.dart b/lib/pages/live_area_detail/view.dart index d52a599d7..f3c30df0a 100644 --- a/lib/pages/live_area_detail/view.dart +++ b/lib/pages/live_area_detail/view.dart @@ -66,10 +66,10 @@ class _LiveAreaDetailPageState extends State { return switch (loadingState) { Loading() => const SizedBox.shrink(), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? DefaultTabController( initialIndex: _controller.initialIndex, - length: response!.length, + length: response.length, child: Builder( builder: (context) { return Column( diff --git a/lib/pages/live_emote/view.dart b/lib/pages/live_emote/view.dart index 535207c6a..7187ebacb 100644 --- a/lib/pages/live_emote/view.dart +++ b/lib/pages/live_emote/view.dart @@ -53,13 +53,13 @@ class _LiveEmotePanelState extends State return switch (loadingState) { Loading() => loadingWidget, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Column( children: [ Expanded( child: tabBarView( controller: _emotePanelController.tabController, - children: response!.map( + children: response.map( (item) { final emote = item.emoticons; if (emote == null || emote.isEmpty) { diff --git a/lib/pages/live_follow/view.dart b/lib/pages/live_follow/view.dart index 07c2027c3..b7324a80d 100644 --- a/lib/pages/live_follow/view.dart +++ b/lib/pages/live_follow/view.dart @@ -68,7 +68,7 @@ class _LiveFollowPageState extends State { itemCount: 10, ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -79,7 +79,7 @@ class _LiveFollowPageState extends State { liveItem: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/live_room/view.dart b/lib/pages/live_room/view.dart index 5f6086fc1..5b84ac888 100644 --- a/lib/pages/live_room/view.dart +++ b/lib/pages/live_room/view.dart @@ -376,12 +376,12 @@ class _LiveRoomPageState extends State ?.roomInfo ?.appBackground; Widget child; - if (appBackground?.isNotEmpty == true) { + if (appBackground != null && appBackground.isNotEmpty) { child = CachedNetworkImage( fit: BoxFit.cover, width: maxWidth, height: maxHeight, - imageUrl: appBackground!.http2https, + imageUrl: appBackground.http2https, ); } else { child = Image.asset( diff --git a/lib/pages/live_search/child/view.dart b/lib/pages/live_search/child/view.dart index 26c9e3ca6..0ebc7e477 100644 --- a/lib/pages/live_search/child/view.dart +++ b/lib/pages/live_search/child/view.dart @@ -86,7 +86,7 @@ class _LiveSearchChildPageState extends State return switch (loadingState) { Loading() => _buildLoading, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Builder( builder: (context) { return switch (widget.searchType) { @@ -100,7 +100,7 @@ class _LiveSearchChildPageState extends State item: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ), LiveSearchType.user => SliverGrid.builder( gridDelegate: userDelegate, @@ -112,7 +112,7 @@ class _LiveSearchChildPageState extends State item: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ), }; }, diff --git a/lib/pages/log_table/view.dart b/lib/pages/log_table/view.dart index e08d9ae4d..10d343810 100644 --- a/lib/pages/log_table/view.dart +++ b/lib/pages/log_table/view.dart @@ -45,7 +45,7 @@ class _LogPageState extends State> { return switch (loadingState) { Loading() => linearLoading, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Builder( builder: (context) { final them = Theme.of(context); @@ -78,7 +78,7 @@ class _LogPageState extends State> { ), sliverDivider, SliverList.separated( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { return _item(response[index], dividerV); }, diff --git a/lib/pages/login_devices/view.dart b/lib/pages/login_devices/view.dart index 7a883f37e..81e786a83 100644 --- a/lib/pages/login_devices/view.dart +++ b/lib/pages/login_devices/view.dart @@ -57,12 +57,12 @@ class LloginDevicesPageState extends State { return switch (loadingState) { Loading() => const SliverToBoxAdapter(), Success?>(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( itemBuilder: (context, index) { return _buildItem(colorScheme, response[index]); }, - itemCount: response!.length, + itemCount: response.length, separatorBuilder: (_, _) => divider, ) : HttpError(onReload: _controller.onReload), diff --git a/lib/pages/main_reply/view.dart b/lib/pages/main_reply/view.dart index a4628c3f2..9b20ac707 100644 --- a/lib/pages/main_reply/view.dart +++ b/lib/pages/main_reply/view.dart @@ -118,9 +118,9 @@ class _MainReplyPageState extends State { prototypeItem: const VideoReplySkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.builder( - itemCount: response!.length + 1, + itemCount: response.length + 1, itemBuilder: (context, index) { if (index == response.length) { _controller.onLoadMore(); diff --git a/lib/pages/member_article/view.dart b/lib/pages/member_article/view.dart index 0dd29cf0b..78632c7df 100644 --- a/lib/pages/member_article/view.dart +++ b/lib/pages/member_article/view.dart @@ -56,7 +56,7 @@ class _MemberArticleState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -67,7 +67,7 @@ class _MemberArticleState extends State item: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/member_audio/view.dart b/lib/pages/member_audio/view.dart index b7202d40d..1726c3910 100644 --- a/lib/pages/member_audio/view.dart +++ b/lib/pages/member_audio/view.dart @@ -71,7 +71,7 @@ class _MemberAudioState extends State return switch (loadingState) { Loading() => linearLoading, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: [ SliverPersistentHeader( @@ -125,7 +125,7 @@ class _MemberAudioState extends State item: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ), ], ) diff --git a/lib/pages/member_cheese/view.dart b/lib/pages/member_cheese/view.dart index 8130eef79..0aa00dbb2 100644 --- a/lib/pages/member_cheese/view.dart +++ b/lib/pages/member_cheese/view.dart @@ -56,7 +56,7 @@ class _MemberCheeseState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -65,7 +65,7 @@ class _MemberCheeseState extends State } return MemberCheeseItem(item: response[index]); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/member_coin_arc/view.dart b/lib/pages/member_coin_arc/view.dart index 1f6e73526..cbc92b922 100644 --- a/lib/pages/member_coin_arc/view.dart +++ b/lib/pages/member_coin_arc/view.dart @@ -79,10 +79,10 @@ class _MemberCoinArcPageState extends State { itemBuilder: (context, index) => const VideoCardVSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { if (index == response.length - 1) { _ctr.onLoadMore(); diff --git a/lib/pages/member_comic/view.dart b/lib/pages/member_comic/view.dart index 1ca64d3f8..317f5024b 100644 --- a/lib/pages/member_comic/view.dart +++ b/lib/pages/member_comic/view.dart @@ -52,7 +52,7 @@ class _MemberComicState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -61,7 +61,7 @@ class _MemberComicState extends State } return MemberComicItem(item: response[index]); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/member_dynamics/view.dart b/lib/pages/member_dynamics/view.dart index 8663bb7df..794de8607 100644 --- a/lib/pages/member_dynamics/view.dart +++ b/lib/pages/member_dynamics/view.dart @@ -80,7 +80,7 @@ class _MemberDynamicsPageState extends State return switch (loadingState) { Loading() => dynSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? GlobalData().dynamicsWaterfallFlow ? SliverWaterfallFlow( gridDelegate: dynGridDelegate, @@ -96,7 +96,7 @@ class _MemberDynamicsPageState extends State maxWidth: maxWidth, ); }, - childCount: response!.length, + childCount: response.length, ), ) : SliverList.builder( @@ -111,7 +111,7 @@ class _MemberDynamicsPageState extends State maxWidth: maxWidth, ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _memberDynamicController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/member_favorite/view.dart b/lib/pages/member_favorite/view.dart index 53da1199b..94b50f01b 100644 --- a/lib/pages/member_favorite/view.dart +++ b/lib/pages/member_favorite/view.dart @@ -70,7 +70,7 @@ class _MemberFavoriteState extends State ), ), Success(:final response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: [ _buildItem( diff --git a/lib/pages/member_like_arc/view.dart b/lib/pages/member_like_arc/view.dart index 411bc1e9e..9f88a639a 100644 --- a/lib/pages/member_like_arc/view.dart +++ b/lib/pages/member_like_arc/view.dart @@ -79,10 +79,10 @@ class _MemberLikeArcPageState extends State { itemBuilder: (context, index) => const VideoCardVSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { if (index == response.length - 1) { _ctr.onLoadMore(); diff --git a/lib/pages/member_opus/view.dart b/lib/pages/member_opus/view.dart index 1ea63ddb1..b2d6a2e4f 100644 --- a/lib/pages/member_opus/view.dart +++ b/lib/pages/member_opus/view.dart @@ -136,7 +136,7 @@ class _MemberOpusState extends State ), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverWaterfallFlow( gridDelegate: gridDelegate, delegate: SliverChildBuilderDelegate( @@ -149,7 +149,7 @@ class _MemberOpusState extends State maxWidth: _maxWidth, ); }, - childCount: response!.length, + childCount: response.length, ), ) : HttpError(onReload: _controller.onReload), diff --git a/lib/pages/member_pgc/view.dart b/lib/pages/member_pgc/view.dart index 04bfefb7d..312efc3e5 100644 --- a/lib/pages/member_pgc/view.dart +++ b/lib/pages/member_pgc/view.dart @@ -72,7 +72,7 @@ class _MemberBangumiState extends State return switch (loadingState) { Loading() => const SliverToBoxAdapter(), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -83,7 +83,7 @@ class _MemberBangumiState extends State item: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/member_search/child/view.dart b/lib/pages/member_search/child/view.dart index 4c10336bb..b0bf587fa 100644 --- a/lib/pages/member_search/child/view.dart +++ b/lib/pages/member_search/child/view.dart @@ -70,7 +70,7 @@ class _MemberSearchChildPageState extends State return switch (loadingState) { Loading() => _buildLoading, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Builder( builder: (context) { return switch (widget.searchType) { @@ -84,7 +84,7 @@ class _MemberSearchChildPageState extends State videoItem: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ), MemberSearchType.dynamic => GlobalData().dynamicsWaterfallFlow @@ -100,7 +100,7 @@ class _MemberSearchChildPageState extends State maxWidth: maxWidth, ); }, - childCount: response!.length, + childCount: response.length, ), ) : SliverList.builder( @@ -113,7 +113,7 @@ class _MemberSearchChildPageState extends State maxWidth: maxWidth, ); }, - itemCount: response!.length, + itemCount: response.length, ), }; }, diff --git a/lib/pages/member_season_series/view.dart b/lib/pages/member_season_series/view.dart index 219f5f7b4..a104a43a0 100644 --- a/lib/pages/member_season_series/view.dart +++ b/lib/pages/member_season_series/view.dart @@ -56,7 +56,7 @@ class _SeasonSeriesPageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -92,7 +92,7 @@ class _SeasonSeriesPageState extends State }, ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/member_upower_rank/view.dart b/lib/pages/member_upower_rank/view.dart index 2fcedd694..fac49de7f 100644 --- a/lib/pages/member_upower_rank/view.dart +++ b/lib/pages/member_upower_rank/view.dart @@ -184,9 +184,9 @@ class _UpowerRankPageState extends State ), ), Success?>(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.builder( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { if (index == response.length - 1) { _controller.onLoadMore(); diff --git a/lib/pages/member_video/view.dart b/lib/pages/member_video/view.dart index e1a329776..697c8db77 100644 --- a/lib/pages/member_video/view.dart +++ b/lib/pages/member_video/view.dart @@ -164,7 +164,7 @@ class _MemberVideoState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: [ SliverPersistentHeader( @@ -267,7 +267,7 @@ class _MemberVideoState extends State fromViewAid: _controller.fromViewAid, ); }, - itemCount: response!.length, + itemCount: response.length, ), ], ) diff --git a/lib/pages/msg_feed_top/at_me/view.dart b/lib/pages/msg_feed_top/at_me/view.dart index be247505a..e19f7f095 100644 --- a/lib/pages/msg_feed_top/at_me/view.dart +++ b/lib/pages/msg_feed_top/at_me/view.dart @@ -85,9 +85,9 @@ class _AtMePageState extends State { itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, int index) { if (index == response.length - 1) { _atMeController.onLoadMore(); diff --git a/lib/pages/msg_feed_top/reply_me/view.dart b/lib/pages/msg_feed_top/reply_me/view.dart index d1953f5a5..21843b511 100644 --- a/lib/pages/msg_feed_top/reply_me/view.dart +++ b/lib/pages/msg_feed_top/reply_me/view.dart @@ -85,9 +85,9 @@ class _ReplyMePageState extends State { itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, int index) { if (index == response.length - 1) { _replyMeController.onLoadMore(); diff --git a/lib/pages/msg_feed_top/sys_msg/view.dart b/lib/pages/msg_feed_top/sys_msg/view.dart index 46e69c314..e7b0b6dcc 100644 --- a/lib/pages/msg_feed_top/sys_msg/view.dart +++ b/lib/pages/msg_feed_top/sys_msg/view.dart @@ -71,9 +71,9 @@ class _SysMsgPageState extends State { ), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, int index) { if (index == response.length - 1) { _sysMsgController.onLoadMore(); diff --git a/lib/pages/music/video/view.dart b/lib/pages/music/video/view.dart index 3817657f9..2646ea1d3 100644 --- a/lib/pages/music/video/view.dart +++ b/lib/pages/music/video/view.dart @@ -58,12 +58,12 @@ class _MusicRecommandPageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) => MusicVideoCardH(videoItem: response[index]), - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/pgc/view.dart b/lib/pages/pgc/view.dart index 736f0e374..b95f42c51 100644 --- a/lib/pages/pgc/view.dart +++ b/lib/pages/pgc/view.dart @@ -84,12 +84,12 @@ class _PgcPageState extends CommonPageState ) => switch (loadingState) { Loading() => loadingWidget, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Builder( builder: (context) { final initialIndex = max( 0, - response!.indexWhere((item) => item.isToday == 1), + response.indexWhere((item) => item.isToday == 1), ); return DefaultTabController( initialIndex: initialIndex, @@ -311,7 +311,7 @@ class _PgcPageState extends CommonPageState return switch (loadingState) { Loading() => const SliverToBoxAdapter(), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -320,7 +320,7 @@ class _PgcPageState extends CommonPageState } return PgcCardVPgcIndex(item: response[index]); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( @@ -398,11 +398,11 @@ class _PgcPageState extends CommonPageState return switch (loadingState) { Loading() => loadingWidget, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? ListView.builder( controller: controller.followController, scrollDirection: Axis.horizontal, - itemCount: response!.length, + itemCount: response.length, padding: EdgeInsets.zero, itemBuilder: (context, index) { if (index == response.length - 1) { diff --git a/lib/pages/pgc_index/view.dart b/lib/pages/pgc_index/view.dart index 451b9c5c8..15fdc6224 100644 --- a/lib/pages/pgc_index/view.dart +++ b/lib/pages/pgc_index/view.dart @@ -177,7 +177,7 @@ class _PgcIndexPageState extends State ? data.order : data.filter![index - 1].values : data.filter![index].values; - return item?.isNotEmpty == true + return item != null && item.isNotEmpty ? Padding( padding: index == 0 ? EdgeInsets.zero @@ -193,7 +193,7 @@ class _PgcIndexPageState extends State item[childIndex], ); }, - itemCount: item!.length, + itemCount: item.length, ), ) : const SizedBox.shrink(); @@ -241,7 +241,7 @@ class _PgcIndexPageState extends State return switch (loadingState) { Loading() => linearLoading, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -250,7 +250,7 @@ class _PgcIndexPageState extends State } return PgcCardVPgcIndex(item: response[index]); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _ctr.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/pgc_review/child/view.dart b/lib/pages/pgc_review/child/view.dart index 1ebbaf36e..99581fa00 100644 --- a/lib/pages/pgc_review/child/view.dart +++ b/lib/pages/pgc_review/child/view.dart @@ -89,7 +89,7 @@ class _PgcReviewChildPageState extends State itemCount: 8, ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( itemBuilder: (context, index) { if (index == response.length - 1) { @@ -97,7 +97,7 @@ class _PgcReviewChildPageState extends State } return _itemWidget(theme, index, response[index]); }, - itemCount: response!.length, + itemCount: response.length, separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _controller.onReload), diff --git a/lib/pages/rank/zone/view.dart b/lib/pages/rank/zone/view.dart index e85114142..99903e7cc 100644 --- a/lib/pages/rank/zone/view.dart +++ b/lib/pages/rank/zone/view.dart @@ -55,7 +55,7 @@ class _ZonePageState extends CommonPageState return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -70,7 +70,7 @@ class _ZonePageState extends CommonPageState } return PgcRankItem(item: item); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/rcmd/controller.dart b/lib/pages/rcmd/controller.dart index 54c777cc2..aa2e4e784 100644 --- a/lib/pages/rcmd/controller.dart +++ b/lib/pages/rcmd/controller.dart @@ -27,12 +27,12 @@ class RcmdController extends CommonListController { @override void handleListResponse(List dataList) { if (enableSaveLastData && page == 0 && loadingState.value.isSuccess) { - List? currentList = loadingState.value.data; - if (currentList?.isNotEmpty == true) { + final currentList = loadingState.value.data; + if (currentList != null && currentList.isNotEmpty) { if (savedRcmdTip) { lastRefreshAt = dataList.length; } - if (currentList!.length > 500) { + if (currentList.length > 500) { currentList.removeRange(50, currentList.length); } dataList.addAll(currentList); diff --git a/lib/pages/rcmd/view.dart b/lib/pages/rcmd/view.dart index 8147bee81..adddf3856 100644 --- a/lib/pages/rcmd/view.dart +++ b/lib/pages/rcmd/view.dart @@ -65,7 +65,7 @@ class _RcmdPageState extends CommonPageState return switch (loadingState) { Loading() => _buildSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -125,8 +125,8 @@ class _RcmdPageState extends CommonPageState } }, itemCount: controller.lastRefreshAt != null - ? response!.length + 1 - : response!.length, + ? response.length + 1 + : response.length, ) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/search_panel/view.dart b/lib/pages/search_panel/view.dart index 8bae50693..7e241807d 100644 --- a/lib/pages/search_panel/view.dart +++ b/lib/pages/search_panel/view.dart @@ -60,8 +60,8 @@ abstract class CommonSearchPanelState< return switch (loadingState) { Loading() => buildLoading, Success(:var response) => - response?.isNotEmpty == true - ? buildList(theme, response!) + response != null && response.isNotEmpty + ? buildList(theme, response) : HttpError(onReload: controller.onReload), Error(:var errMsg) => HttpError( errMsg: errMsg, diff --git a/lib/pages/search_trending/view.dart b/lib/pages/search_trending/view.dart index d3c31dc83..1139d2173 100644 --- a/lib/pages/search_trending/view.dart +++ b/lib/pages/search_trending/view.dart @@ -153,9 +153,9 @@ class _SearchTrendingPageState extends State { return switch (loadingState) { Loading() => linearLoading, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { final item = response[index]; return ListTile( diff --git a/lib/pages/subscription/view.dart b/lib/pages/subscription/view.dart index 6c61b882e..2e61ddb33 100644 --- a/lib/pages/subscription/view.dart +++ b/lib/pages/subscription/view.dart @@ -44,7 +44,7 @@ class _SubPageState extends State with GridMixin { return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -57,7 +57,7 @@ class _SubPageState extends State with GridMixin { cancelSub: () => _subController.cancelSub(item), ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _subController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/subscription_detail/view.dart b/lib/pages/subscription_detail/view.dart index 658ca090d..688f69301 100644 --- a/lib/pages/subscription_detail/view.dart +++ b/lib/pages/subscription_detail/view.dart @@ -74,7 +74,7 @@ class _SubDetailPageState extends State with GridMixin { return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -85,7 +85,7 @@ class _SubDetailPageState extends State with GridMixin { videoItem: response[index], ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _subDetailController.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/video/controller.dart b/lib/pages/video/controller.dart index 54e69615b..5b8a67d7b 100644 --- a/lib/pages/video/controller.dart +++ b/lib/pages/video/controller.dart @@ -1879,17 +1879,17 @@ class VideoDetailController extends GetxController } } } - if (episodes?.isNotEmpty == true) { + if (episodes != null && episodes.isNotEmpty) { final downloadService = Get.find(); await downloadService.waitForInitialization; if (!context.mounted) { return; } - final Set cidSet = - (downloadService.downloadList + downloadService.waitDownloadQueue) - .map((e) => e.cid) - .toSet(); - final index = episodes!.indexWhere( + final Set cidSet = downloadService.downloadList + .followedBy(downloadService.waitDownloadQueue) + .map((e) => e.cid) + .toSet(); + final index = episodes.indexWhere( (e) => e.cid == (seasonCid ?? cid.value), ); final size = context.mediaQuerySize; diff --git a/lib/pages/video/introduction/pgc/view.dart b/lib/pages/video/introduction/pgc/view.dart index 4997c1ec2..f0bef6670 100644 --- a/lib/pages/video/introduction/pgc/view.dart +++ b/lib/pages/video/introduction/pgc/view.dart @@ -346,9 +346,9 @@ class _PgcIntroPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(name), - if (role?.isNotEmpty == true) + if (role != null && role.isNotEmpty) Text( - role!, + role, style: TextStyle( fontSize: 12, color: theme.colorScheme.outline, diff --git a/lib/pages/video/introduction/ugc/controller.dart b/lib/pages/video/introduction/ugc/controller.dart index fa1c237d1..00e56334c 100644 --- a/lib/pages/video/introduction/ugc/controller.dart +++ b/lib/pages/video/introduction/ugc/controller.dart @@ -133,11 +133,11 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { // 获取up主粉丝数 Future queryUserStat(List? staff) async { - if (staff?.isNotEmpty == true) { + if (staff != null && staff.isNotEmpty) { Request() .get( Api.relations, - queryParameters: {'fids': staff!.map((item) => item.mid).join(',')}, + queryParameters: {'fids': staff.map((item) => item.mid).join(',')}, ) .then((res) { if (res.data['code'] == 0) { diff --git a/lib/pages/video/member/view.dart b/lib/pages/video/member/view.dart index 02552707f..336c19d4d 100644 --- a/lib/pages/video/member/view.dart +++ b/lib/pages/video/member/view.dart @@ -196,7 +196,7 @@ class _HorizontalMemberPageState extends State { itemExtent: 100, ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverFixedExtentList.builder( itemBuilder: (context, index) { if (index == response.length - 1 && _controller.hasNext) { @@ -221,7 +221,7 @@ class _HorizontalMemberPageState extends State { ), ); }, - itemCount: response!.length, + itemCount: response.length, itemExtent: 100, ) : HttpError(onReload: _controller.onReload), diff --git a/lib/pages/video/note/view.dart b/lib/pages/video/note/view.dart index d4acc799f..39ebf367b 100644 --- a/lib/pages/video/note/view.dart +++ b/lib/pages/video/note/view.dart @@ -187,7 +187,7 @@ class _NoteListPageState extends State itemCount: 8, ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( itemBuilder: (context, index) { if (index == response.length - 1) { @@ -195,7 +195,7 @@ class _NoteListPageState extends State } return _itemWidget(theme, response[index]); }, - itemCount: response!.length, + itemCount: response.length, separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _controller.onReload), diff --git a/lib/pages/video/related/view.dart b/lib/pages/video/related/view.dart index dc684d462..8a5747032 100644 --- a/lib/pages/video/related/view.dart +++ b/lib/pages/video/related/view.dart @@ -33,7 +33,7 @@ class _RelatedVideoPanelState extends State with GridMixin { return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -44,7 +44,7 @@ class _RelatedVideoPanelState extends State with GridMixin { ..refresh(), ); }, - itemCount: response!.length, + itemCount: response.length, ) : const SliverToBoxAdapter(), Error(:var errMsg) => HttpError( diff --git a/lib/pages/video/reply_search_item/child/view.dart b/lib/pages/video/reply_search_item/child/view.dart index 2c831977c..a878afcce 100644 --- a/lib/pages/video/reply_search_item/child/view.dart +++ b/lib/pages/video/reply_search_item/child/view.dart @@ -53,7 +53,7 @@ class _ReplySearchChildPageState extends State return switch (loadingState) { Loading() => gridSkeleton, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, itemBuilder: (context, index) { @@ -65,7 +65,7 @@ class _ReplySearchChildPageState extends State type: widget.searchType, ); }, - itemCount: response!.length, + itemCount: response.length, ) : HttpError(onReload: _controller.onReload), Error(:var errMsg) => HttpError( diff --git a/lib/pages/whisper/view.dart b/lib/pages/whisper/view.dart index 44758b19b..bb7b37b9c 100644 --- a/lib/pages/whisper/view.dart +++ b/lib/pages/whisper/view.dart @@ -30,9 +30,9 @@ class _WhisperPageState extends State { actions: [ Obx(() { final outsideItem = _controller.outsideItem.value; - if (outsideItem?.isNotEmpty == true) { + if (outsideItem != null && outsideItem.isNotEmpty) { return Row( - children: outsideItem!.map((e) { + children: outsideItem.map((e) { return IconButton( tooltip: e.hasTitle() ? e.title : null, onPressed: () => e.type.action( @@ -49,10 +49,10 @@ class _WhisperPageState extends State { }), Obx(() { final threeDotItems = _controller.threeDotItems.value; - if (threeDotItems?.isNotEmpty == true) { + if (threeDotItems != null && threeDotItems.isNotEmpty) { return PopupMenuButton( itemBuilder: (context) { - return threeDotItems! + return threeDotItems .map( (e) => PopupMenuItem( onTap: () => e.type.action( @@ -105,9 +105,9 @@ class _WhisperPageState extends State { itemBuilder: (context, index) => const WhisperItemSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { if (index == response.length - 1) { _controller.onLoadMore(); diff --git a/lib/pages/whisper_block/view.dart b/lib/pages/whisper_block/view.dart index 2208974a8..920f0045c 100644 --- a/lib/pages/whisper_block/view.dart +++ b/lib/pages/whisper_block/view.dart @@ -39,7 +39,7 @@ class _WhisperBlockPageState extends State { return switch (loadingState) { Loading() => loadingWidget, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -75,7 +75,7 @@ class _WhisperBlockPageState extends State { child: Wrap( spacing: 12, runSpacing: 12, - children: response! + children: response .map( (e) => SearchText( text: e.keyword, diff --git a/lib/pages/whisper_detail/view.dart b/lib/pages/whisper_detail/view.dart index c7a2faab6..e76dc03fa 100644 --- a/lib/pages/whisper_detail/view.dart +++ b/lib/pages/whisper_detail/view.dart @@ -170,11 +170,11 @@ class _WhisperDetailPageState return switch (loadingState) { Loading() => loadingWidget, Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? ListView.separated( shrinkWrap: true, reverse: true, - itemCount: response!.length, + itemCount: response.length, padding: const EdgeInsets.all(14), physics: const AlwaysScrollableScrollPhysics( parent: ClampingScrollPhysics(), diff --git a/lib/pages/whisper_detail/widget/chat_item.dart b/lib/pages/whisper_detail/widget/chat_item.dart index c46564efa..006dc3280 100644 --- a/lib/pages/whisper_detail/widget/chat_item.dart +++ b/lib/pages/whisper_detail/widget/chat_item.dart @@ -696,7 +696,7 @@ class ChatItem extends StatelessWidget { behavior: HitTestBehavior.opaque, onTap: () => PiliScheme.routePushFromUrl(uri), child: Text( - text?.isNotEmpty == true ? text! : '查看详情', + text != null && text.isNotEmpty ? text : '查看详情', ), ), ]; @@ -724,9 +724,9 @@ class ChatItem extends StatelessWidget { Divider(color: theme.colorScheme.primary.withValues(alpha: 0.05)), if ((content['text'] as String?)?.isNotEmpty == true) SelectableText(content['text']), - if (modules?.isNotEmpty == true) ...[ + if (modules != null && modules.isNotEmpty) ...[ const SizedBox(height: 4), - ...modules!.map( + ...modules.map( (e) => Row( spacing: 10, crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/pages/whisper_link_setting/view.dart b/lib/pages/whisper_link_setting/view.dart index 02484ade5..efb7e3f8d 100644 --- a/lib/pages/whisper_link_setting/view.dart +++ b/lib/pages/whisper_link_setting/view.dart @@ -107,14 +107,14 @@ class _WhisperLinkSettingPageState extends State { return switch (loadingState) { Loading() => const SizedBox.shrink(), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Builder( builder: (context) { - final ImUserInfosData item = response!.first; + final ImUserInfosData item = response.first; return ListTile( onTap: () => Get.toNamed('/member?mid=${item.mid}'), leading: PendantAvatar( @@ -231,7 +231,7 @@ class _WhisperLinkSettingPageState extends State { return switch (loadingState) { Loading() => const SizedBox.shrink(), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? ListTile( dense: true, onTap: () => _controller.setMute(response.first.setting == 1), @@ -240,7 +240,7 @@ class _WhisperLinkSettingPageState extends State { alignment: Alignment.centerRight, scale: 0.8, child: Switch( - value: response!.first.setting == 1, + value: response.first.setting == 1, onChanged: (value) => _controller.setMute(response.first.setting == 1), ), diff --git a/lib/pages/whisper_secondary/view.dart b/lib/pages/whisper_secondary/view.dart index 2a132fd03..ae2c14142 100644 --- a/lib/pages/whisper_secondary/view.dart +++ b/lib/pages/whisper_secondary/view.dart @@ -38,10 +38,10 @@ class _WhisperSecPageState extends State { actions: [ Obx(() { final threeDotItems = _controller.threeDotItems.value; - if (threeDotItems?.isNotEmpty == true) { + if (threeDotItems != null && threeDotItems.isNotEmpty) { return PopupMenuButton( itemBuilder: (context) { - return threeDotItems! + return threeDotItems .map( (e) => PopupMenuItem( onTap: () => e.type.action( @@ -95,9 +95,9 @@ class _WhisperSecPageState extends State { itemBuilder: (context, index) => const WhisperItemSkeleton(), ), Success(:var response) => - response?.isNotEmpty == true + response != null && response.isNotEmpty ? SliverList.separated( - itemCount: response!.length, + itemCount: response.length, itemBuilder: (context, index) { if (index == response.length - 1) { _controller.onLoadMore();