@@ -30,14 +30,14 @@ import '../widget/builder/asset_entity_grid_item_builder.dart';
3030
3131/// Class which contains non-null special item widget and its position which derived from the [SpecialItem]
3232/// 包含非空自定义item,并指定其位置。
33- class SpecialItemResult {
34- SpecialItemResult ({
33+ class SpecialItemModel {
34+ const SpecialItemModel ({
3535 required this .position,
3636 required this .item,
3737 });
3838
39- SpecialItemPosition position;
40- Widget item;
39+ final SpecialItemPosition position;
40+ final Widget item;
4141}
4242
4343/// The delegate to build the whole picker's components.
@@ -330,7 +330,7 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
330330 int ? findChildIndexBuilder ({
331331 required String id,
332332 required List <Asset > assets,
333- required List <SpecialItemResult > prependSpecialItemResults,
333+ required List <SpecialItemModel > prependSpecialItemResults,
334334 int placeholderCount = 0 ,
335335 }) =>
336336 null ;
@@ -358,7 +358,7 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
358358 int index,
359359 Asset asset,
360360 Widget child,
361- List <SpecialItemResult > prependSpecialItemResults,
361+ List <SpecialItemModel > prependSpecialItemResults,
362362 );
363363
364364 /// The item builder for audio type of asset.
@@ -1239,7 +1239,7 @@ class DefaultAssetPickerBuilderDelegate
12391239 // First, we need the count of the assets.
12401240 int totalCount = wrapper? .assetCount ?? 0 ;
12411241
1242- final List <SpecialItemResult > specialItemResults = specialItems
1242+ final List <SpecialItemModel > specialItemModels = specialItems
12431243 .map ((item) {
12441244 final specialItem = item.builder? .call (
12451245 context,
@@ -1248,19 +1248,19 @@ class DefaultAssetPickerBuilderDelegate
12481248 permissionNotifier.value,
12491249 );
12501250 if (specialItem != null ) {
1251- return SpecialItemResult (
1251+ return SpecialItemModel (
12521252 position: item.position,
12531253 item: specialItem,
12541254 );
12551255 }
12561256 return null ;
12571257 })
1258- .whereType <SpecialItemResult >()
1258+ .whereType <SpecialItemModel >()
12591259 .toList ();
12601260
1261- totalCount += specialItemResults .length;
1261+ totalCount += specialItemModels .length;
12621262
1263- if (totalCount == 0 && specialItemResults .isEmpty) {
1263+ if (totalCount == 0 && specialItemModels .isEmpty) {
12641264 return loadingIndicator (context);
12651265 }
12661266 // Then we use the [totalCount] to calculate placeholders we need.
@@ -1300,7 +1300,7 @@ class DefaultAssetPickerBuilderDelegate
13001300 context,
13011301 index,
13021302 assets,
1303- specialItemResults : specialItemResults ,
1303+ specialItemModels : specialItemModels ,
13041304 ),
13051305 ),
13061306 );
@@ -1309,15 +1309,15 @@ class DefaultAssetPickerBuilderDelegate
13091309 context: context,
13101310 assets: assets,
13111311 placeholderCount: placeholderCount,
1312- specialItemResults : specialItemResults ,
1312+ specialItemModels : specialItemModels ,
13131313 ),
13141314 findChildIndexCallback: (Key ? key) {
13151315 if (key is ValueKey <String >) {
13161316 return findChildIndexBuilder (
13171317 id: key.value,
13181318 assets: assets,
13191319 placeholderCount: placeholderCount,
1320- prependSpecialItemResults: specialItemResults
1320+ prependSpecialItemResults: specialItemModels
13211321 .where (
13221322 (item) =>
13231323 item.position == SpecialItemPosition .prepend,
@@ -1425,17 +1425,17 @@ class DefaultAssetPickerBuilderDelegate
14251425 BuildContext context,
14261426 int index,
14271427 List <AssetEntity > currentAssets, {
1428- List <SpecialItemResult > specialItemResults = const [],
1428+ List <SpecialItemModel > specialItemModels = const [],
14291429 }) {
14301430 final DefaultAssetPickerProvider p =
14311431 context.read <DefaultAssetPickerProvider >();
14321432 final int length = currentAssets.length;
14331433 final PathWrapper <AssetPathEntity >? currentWrapper = p.currentPath;
14341434 final AssetPathEntity ? currentPathEntity = currentWrapper? .path;
14351435
1436- final prependItems = < SpecialItemResult > [];
1437- final appendItems = < SpecialItemResult > [];
1438- for (final model in specialItemResults ) {
1436+ final prependItems = < SpecialItemModel > [];
1437+ final appendItems = < SpecialItemModel > [];
1438+ for (final model in specialItemModels ) {
14391439 switch (model.position) {
14401440 case SpecialItemPosition .prepend:
14411441 prependItems.add (model);
@@ -1446,13 +1446,13 @@ class DefaultAssetPickerBuilderDelegate
14461446
14471447 if (prependItems.isNotEmpty) {
14481448 if (index < prependItems.length) {
1449- return specialItemResults [index].item;
1449+ return specialItemModels [index].item;
14501450 }
14511451 }
14521452
14531453 if (appendItems.isNotEmpty) {
14541454 if (index >= length + prependItems.length) {
1455- return specialItemResults [index - length].item;
1455+ return specialItemModels [index - length].item;
14561456 }
14571457 }
14581458
@@ -1498,7 +1498,7 @@ class DefaultAssetPickerBuilderDelegate
14981498
14991499 int semanticIndex (
15001500 int index,
1501- List <SpecialItemResult > prependSpecialItemResults,
1501+ List <SpecialItemModel > prependSpecialItemResults,
15021502 ) {
15031503 return index - prependSpecialItemResults.length;
15041504 }
@@ -1509,7 +1509,7 @@ class DefaultAssetPickerBuilderDelegate
15091509 int index,
15101510 AssetEntity asset,
15111511 Widget child,
1512- List <SpecialItemResult > prependSpecialItemResults,
1512+ List <SpecialItemModel > prependSpecialItemResults,
15131513 ) {
15141514 return ValueListenableBuilder <bool >(
15151515 valueListenable: isSwitchingPath,
@@ -1590,7 +1590,7 @@ class DefaultAssetPickerBuilderDelegate
15901590 int findChildIndexBuilder ({
15911591 required String id,
15921592 required List <AssetEntity > assets,
1593- required List <SpecialItemResult > prependSpecialItemResults,
1593+ required List <SpecialItemModel > prependSpecialItemResults,
15941594 int placeholderCount = 0 ,
15951595 }) {
15961596 int index = assets.indexWhere ((AssetEntity e) => e.id == id);
@@ -1604,7 +1604,7 @@ class DefaultAssetPickerBuilderDelegate
16041604 required BuildContext context,
16051605 required List <AssetEntity > assets,
16061606 int placeholderCount = 0 ,
1607- List <SpecialItemResult > specialItemResults = const [],
1607+ List <SpecialItemModel > specialItemModels = const [],
16081608 }) {
16091609 final PathWrapper <AssetPathEntity >? currentWrapper = context
16101610 .select <DefaultAssetPickerProvider , PathWrapper <AssetPathEntity >?>(
@@ -1614,17 +1614,17 @@ class DefaultAssetPickerBuilderDelegate
16141614 final int length = assets.length + placeholderCount;
16151615
16161616 // Return 1 if the [specialItem] build something.
1617- if (currentPathEntity == null && specialItemResults .isNotEmpty) {
1618- return placeholderCount + specialItemResults .length;
1617+ if (currentPathEntity == null && specialItemModels .isNotEmpty) {
1618+ return placeholderCount + specialItemModels .length;
16191619 }
16201620
16211621 // Return actual length if the current path is all.
16221622 // 如果当前目录是全部内容,则返回实际的内容数量。
1623- if (currentPathEntity? .isAll != true && specialItemResults .isEmpty) {
1623+ if (currentPathEntity? .isAll != true && specialItemModels .isEmpty) {
16241624 return length;
16251625 }
16261626
1627- return length + specialItemResults .length;
1627+ return length + specialItemModels .length;
16281628 }
16291629
16301630 @override
0 commit comments