* opt: _onTapUp

* opt: set contains

* opt: elementAtOrNull
This commit is contained in:
My-Responsitories
2026-02-02 20:12:12 +08:00
committed by GitHub
parent 37fa165f59
commit 7260a387f9
12 changed files with 46 additions and 36 deletions

View File

@@ -10,7 +10,6 @@ import 'package:PiliPlus/pages/common/common_controller.dart';
import 'package:PiliPlus/pages/dynamics_tab/controller.dart';
import 'package:PiliPlus/services/account_service.dart';
import 'package:PiliPlus/utils/accounts.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
import 'package:PiliPlus/utils/extension/scroll_controller_ext.dart';
import 'package:PiliPlus/utils/extension/string_ext.dart';
import 'package:PiliPlus/utils/storage_pref.dart';
@@ -33,7 +32,7 @@ class DynamicsController extends GetxController
LoadingState<FollowUpModel>.loading().obs;
late int _upPage = 1;
late bool _upEnd = false;
List<UpItem>? _cacheUpList;
Set<UpItem>? _cacheUpList;
late final _showAllUp = Pref.dynamicsShowAllFollowedUp;
late bool showLiveUp = Pref.expandDynLivePanel;
@@ -150,7 +149,7 @@ class DynamicsController extends GetxController
final first = res.first;
if (first case final Success<FollowUpModel> i) {
final data = i.response;
final second = res.getOrNull(1);
final second = res.elementAtOrNull(1);
if (second case final Success<FollowData> j) {
final data1 = j.response;
final list1 = data1.list;
@@ -161,8 +160,7 @@ class DynamicsController extends GetxController
}
final list = data.upList;
_cacheUpList = List<UpItem>.from(list);
list.addAll(list1..removeWhere(list.contains));
list.addAll(list1..removeWhere((_cacheUpList = list.toSet()).contains));
}
if (!_showAllUp) {
if (data.hasMore == false || data.offset.isNullOrEmpty) {

View File

@@ -3,7 +3,6 @@ import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models_new/fav/fav_detail/media.dart';
import 'package:PiliPlus/pages/fav_detail/controller.dart';
import 'package:PiliPlus/pages/fav_detail/widget/fav_video_card.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
@@ -84,7 +83,7 @@ class _FavSortPageState extends State<FavSortPage> {
}
final oldItem = sortList[oldIndex];
final newItem = sortList.getOrNull(
final newItem = sortList.elementAtOrNull(
oldIndex > newIndex ? newIndex - 1 : newIndex,
);
sort.add(

View File

@@ -15,7 +15,6 @@ import 'package:PiliPlus/utils/accounts.dart';
import 'package:PiliPlus/utils/app_sign.dart';
import 'package:PiliPlus/utils/date_utils.dart';
import 'package:PiliPlus/utils/extension/file_ext.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
import 'package:PiliPlus/utils/extension/theme_ext.dart';
import 'package:PiliPlus/utils/page_utils.dart';
import 'package:PiliPlus/utils/platform_utils.dart';
@@ -483,7 +482,7 @@ class _EditProfilePageState extends State<EditProfilePage> {
if (pickedFile != null && mounted) {
String? mimeType = lookupMimeType(
pickedFile.path,
)?.split('/').getOrNull(1);
)?.split('/').elementAtOrNull(1);
if (mimeType == 'gif') {
SmartDialog.showToast('不能选GIF');
return;

View File

@@ -9,7 +9,6 @@ import 'package:PiliPlus/grpc/bilibili/app/im/v1.pb.dart'
import 'package:PiliPlus/models/common/badge_type.dart';
import 'package:PiliPlus/pages/whisper_secondary/view.dart';
import 'package:PiliPlus/utils/date_utils.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:PiliPlus/utils/extension/theme_ext.dart';
import 'package:PiliPlus/utils/page_utils.dart';
@@ -190,7 +189,7 @@ class WhisperSessionItem extends StatelessWidget {
leading: Builder(
builder: (context) {
final pendant = item.sessionInfo.avatar.fallbackLayers.layers
.getOrNull(1)
.elementAtOrNull(1)
?.resource;
final official = item
.sessionInfo

View File

@@ -16,7 +16,6 @@ import 'package:PiliPlus/pages/whisper_detail/controller.dart';
import 'package:PiliPlus/pages/whisper_detail/widget/chat_item.dart';
import 'package:PiliPlus/pages/whisper_link_setting/view.dart';
import 'package:PiliPlus/utils/extension/file_ext.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:PiliPlus/utils/extension/widget_ext.dart';
import 'package:PiliPlus/utils/feed_back.dart';
@@ -360,7 +359,9 @@ class _WhisperDetailPageState
);
if (result case Success(:final response)) {
final mimeType =
lookupMimeType(path)?.split('/').getOrNull(1) ??
lookupMimeType(
path,
)?.split('/').elementAtOrNull(1) ??
'jpg';
final picMsg = {
'url': response.imageUrl,