@@ -330,7 +330,7 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
330330 int ? findChildIndexBuilder ({
331331 required String id,
332332 required List <Asset > assets,
333- required List <SpecialItemModel > prependSpecialItemResults ,
333+ required List <SpecialItemModel > specialItemModels ,
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 <SpecialItemModel > prependSpecialItemResults ,
361+ List <SpecialItemModel > specialItemModels ,
362362 );
363363
364364 /// The item builder for audio type of asset.
@@ -1317,12 +1317,7 @@ class DefaultAssetPickerBuilderDelegate
13171317 id: key.value,
13181318 assets: assets,
13191319 placeholderCount: placeholderCount,
1320- prependSpecialItemResults: specialItemModels
1321- .where (
1322- (item) =>
1323- item.position == SpecialItemPosition .prepend,
1324- )
1325- .toList (),
1320+ specialItemModels: specialItemModels,
13261321 );
13271322 }
13281323 return null ;
@@ -1492,15 +1487,18 @@ class DefaultAssetPickerBuilderDelegate
14921487 index,
14931488 asset,
14941489 content,
1495- prependItems ,
1490+ specialItemModels ,
14961491 );
14971492 }
14981493
14991494 int semanticIndex (
15001495 int index,
1501- List <SpecialItemModel > prependSpecialItemResults ,
1496+ List <SpecialItemModel > specialItemModels ,
15021497 ) {
1503- return index - prependSpecialItemResults.length;
1498+ final prependSpecialItemModels = specialItemModels.where (
1499+ (SpecialItemModel model) => model.position == SpecialItemPosition .prepend,
1500+ );
1501+ return index - prependSpecialItemModels.length;
15041502 }
15051503
15061504 @override
@@ -1509,7 +1507,7 @@ class DefaultAssetPickerBuilderDelegate
15091507 int index,
15101508 AssetEntity asset,
15111509 Widget child,
1512- List <SpecialItemModel > prependSpecialItemResults ,
1510+ List <SpecialItemModel > specialItemModels ,
15131511 ) {
15141512 return ValueListenableBuilder <bool >(
15151513 valueListenable: isSwitchingPath,
@@ -1543,7 +1541,7 @@ class DefaultAssetPickerBuilderDelegate
15431541 excludeSemantics: true ,
15441542 focusable: ! isSwitchingPath,
15451543 label: '${semanticsTextDelegate .semanticTypeLabel (asset .type )}'
1546- '${semanticIndex (index , prependSpecialItemResults )}, '
1544+ '${semanticIndex (index , specialItemModels )}, '
15471545 '${asset .createDateTime .toString ().replaceAll ('.000' , '' )}' ,
15481546 hidden: isSwitchingPath,
15491547 hint: hint,
@@ -1561,7 +1559,7 @@ class DefaultAssetPickerBuilderDelegate
15611559 onLongPressHint: semanticsTextDelegate.sActionPreviewHint,
15621560 selected: isSelected,
15631561 sortKey: OrdinalSortKey (
1564- semanticIndex (index, prependSpecialItemResults ).toDouble (),
1562+ semanticIndex (index, specialItemModels ).toDouble (),
15651563 name: 'GridItem' ,
15661564 ),
15671565 value: selectedIndex > 0 ? '$selectedIndex ' : null ,
@@ -1574,7 +1572,7 @@ class DefaultAssetPickerBuilderDelegate
15741572 }
15751573 : null ,
15761574 child: IndexedSemantics (
1577- index: semanticIndex (index, prependSpecialItemResults ),
1575+ index: semanticIndex (index, specialItemModels ),
15781576 child: child,
15791577 ),
15801578 ),
@@ -1590,11 +1588,14 @@ class DefaultAssetPickerBuilderDelegate
15901588 int findChildIndexBuilder ({
15911589 required String id,
15921590 required List <AssetEntity > assets,
1593- required List <SpecialItemModel > prependSpecialItemResults ,
1591+ required List <SpecialItemModel > specialItemModels ,
15941592 int placeholderCount = 0 ,
15951593 }) {
1594+ final prependSpecialItemModels = specialItemModels.where (
1595+ (SpecialItemModel model) => model.position == SpecialItemPosition .prepend,
1596+ );
15961597 int index = assets.indexWhere ((AssetEntity e) => e.id == id);
1597- index += prependSpecialItemResults .length;
1598+ index += prependSpecialItemModels .length;
15981599 index += placeholderCount;
15991600 return index;
16001601 }
0 commit comments