using Explorer.Domain; namespace Explorer.Application; public static class LocationVisibility { public static bool ShouldShow(LocationInfo info, UiPreferences preferences) { if (info.IsProtected) { return preferences.ShowProtectedSystemLocations; } if (info.IsHidden) { return preferences.ShowHiddenFiles; } return true; } public static SizeKnowledge ResolveSizeKnowledge(LocationInfo info, bool isDirectory, long sizeBytes, bool sizeFromIndex) { if (info.AccessDenied && sizeBytes <= 0) { return SizeKnowledge.Unknown; } if (info.AccessDenied && sizeBytes > 0) { return SizeKnowledge.Partial; } if (info.IsProtected && isDirectory && sizeBytes <= 0) { return SizeKnowledge.Unknown; } if (isDirectory && !sizeFromIndex && sizeBytes <= 0) { return SizeKnowledge.Unknown; } return SizeKnowledge.Calculated; } }