mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-24 01:34:45 +03:00
Allocate less Lists
This commit is contained in:
@@ -356,8 +356,8 @@ namespace Emby.Server.Implementations.Library
|
||||
}
|
||||
|
||||
var children = item.IsFolder
|
||||
? ((Folder)item).GetRecursiveChildren(false).ToList()
|
||||
: new List<BaseItem>();
|
||||
? ((Folder)item).GetRecursiveChildren(false)
|
||||
: Enumerable.Empty<BaseItem>();
|
||||
|
||||
foreach (var metadataPath in GetMetadataPaths(item, children))
|
||||
{
|
||||
@@ -1253,7 +1253,7 @@ namespace Emby.Server.Implementations.Library
|
||||
var parent = GetItemById(query.ParentId);
|
||||
if (parent is not null)
|
||||
{
|
||||
SetTopParentIdsOrAncestors(query, new List<BaseItem> { parent });
|
||||
SetTopParentIdsOrAncestors(query, new[] { parent });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1277,7 +1277,7 @@ namespace Emby.Server.Implementations.Library
|
||||
var parent = GetItemById(query.ParentId);
|
||||
if (parent is not null)
|
||||
{
|
||||
SetTopParentIdsOrAncestors(query, new List<BaseItem> { parent });
|
||||
SetTopParentIdsOrAncestors(query, new[] { parent });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1435,7 +1435,7 @@ namespace Emby.Server.Implementations.Library
|
||||
var parent = GetItemById(query.ParentId);
|
||||
if (parent is not null)
|
||||
{
|
||||
SetTopParentIdsOrAncestors(query, new List<BaseItem> { parent });
|
||||
SetTopParentIdsOrAncestors(query, new[] { parent });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1455,7 +1455,7 @@ namespace Emby.Server.Implementations.Library
|
||||
_itemRepository.GetItemList(query));
|
||||
}
|
||||
|
||||
private void SetTopParentIdsOrAncestors(InternalItemsQuery query, List<BaseItem> parents)
|
||||
private void SetTopParentIdsOrAncestors(InternalItemsQuery query, IReadOnlyCollection<BaseItem> parents)
|
||||
{
|
||||
if (parents.All(i => i is ICollectionFolder || i is UserView))
|
||||
{
|
||||
@@ -1602,7 +1602,7 @@ namespace Emby.Server.Implementations.Library
|
||||
{
|
||||
_logger.LogError(ex, "Error getting intros");
|
||||
|
||||
return new List<IntroInfo>();
|
||||
return Enumerable.Empty<IntroInfo>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2876,7 +2876,7 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
private async Task SavePeopleMetadataAsync(IEnumerable<PersonInfo> people, CancellationToken cancellationToken)
|
||||
{
|
||||
var personsToSave = new List<BaseItem>();
|
||||
List<BaseItem> personsToSave = null;
|
||||
|
||||
foreach (var person in people)
|
||||
{
|
||||
@@ -2918,12 +2918,12 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
if (saveEntity)
|
||||
{
|
||||
personsToSave.Add(personEntity);
|
||||
(personsToSave ??= new()).Add(personEntity);
|
||||
await RunMetadataSavers(personEntity, itemUpdateType).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
if (personsToSave.Count > 0)
|
||||
if (personsToSave is not null)
|
||||
{
|
||||
CreateItems(personsToSave, null, CancellationToken.None);
|
||||
}
|
||||
@@ -3085,22 +3085,19 @@ namespace Emby.Server.Implementations.Library
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
|
||||
var removeList = new List<NameValuePair>();
|
||||
List<NameValuePair> removeList = null;
|
||||
|
||||
foreach (var contentType in _configurationManager.Configuration.ContentTypes)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(contentType.Name))
|
||||
{
|
||||
removeList.Add(contentType);
|
||||
}
|
||||
else if (_fileSystem.AreEqual(path, contentType.Name)
|
||||
if (string.IsNullOrWhiteSpace(contentType.Name)
|
||||
|| _fileSystem.AreEqual(path, contentType.Name)
|
||||
|| _fileSystem.ContainsSubPath(path, contentType.Name))
|
||||
{
|
||||
removeList.Add(contentType);
|
||||
(removeList ??= new()).Add(contentType);
|
||||
}
|
||||
}
|
||||
|
||||
if (removeList.Count > 0)
|
||||
if (removeList is not null)
|
||||
{
|
||||
_configurationManager.Configuration.ContentTypes = _configurationManager.Configuration.ContentTypes
|
||||
.Except(removeList)
|
||||
|
||||
Reference in New Issue
Block a user