private void UpdateExtraPackageInfos(string packageName, IVersionList versions) { if (!versions.Any()) { return; } var extraVersions = m_UpmCache.GetExtraPackageInfos(packageName); if (extraVersions?.Any() ?? false) { foreach (var version in versions.Cast <UpmPackageVersion>()) { if (version.isFullyFetched) { continue; } PackageInfo info; if (extraVersions.TryGetValue(version.version.ToString(), out info)) { version.UpdatePackageInfo(info); } } } // if the primary version is not fully fetched, trigger an extra fetch automatically right away to get results early // since the primary version's display name is used in the package list var primaryVersion = versions.primary; if (!primaryVersion.isFullyFetched) { ExtraFetch(primaryVersion.uniqueId); } }
// check if the preview versions be filtered out if the user have `show previews` turned off private static bool ShouldPreviewsBeRemoved(IVersionList versions) { if (IsPreviewInstalled(versions)) { return(false); } return(versions.all.Any(v => !v.HasTag(PackageTag.Release))); }
private static bool IsPreviewInstalled(IVersionList versions) { return((!versions.installed?.HasTag(PackageTag.Release)) ?? false); }