diff --git a/src/Files.App (Package)/Package.appxmanifest b/src/Files.App (Package)/Package.appxmanifest index e0187cefee23..4cd9eafd851e 100644 --- a/src/Files.App (Package)/Package.appxmanifest +++ b/src/Files.App (Package)/Package.appxmanifest @@ -16,7 +16,7 @@ + Version="3.3.4.0" /> Files - Dev @@ -33,11 +33,11 @@ - + @@ -55,21 +55,18 @@ - - - - + + + - - - + @@ -98,7 +95,7 @@ Wide310x150Logo="Assets\AppTiles\Dev\Wide310x150Logo.png" Square71x71Logo="Assets\AppTiles\Dev\Small71x71Logo.png" Square310x310Logo="Assets\AppTiles\Dev\Large310x310Logo.png" - ShortName="Files - Dev"> + ShortName="Files"> @@ -119,26 +116,12 @@ - - - - - - - - - - - - - - @@ -160,7 +143,6 @@ .tar .jar .mrpack - .gz assets\archives\ExtensionIcon.png @@ -171,7 +153,7 @@ - + @@ -184,6 +166,13 @@ Files.App.Server\Files.App.Server.exe singleInstance + + + + + + + diff --git a/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs b/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs index 64bf1c0e2915..562536c91b99 100644 --- a/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs +++ b/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs @@ -4,8 +4,9 @@ using Files.App.Services.SizeProvider; using Files.Shared.Helpers; using System.IO; +using Vanara.PInvoke; using Windows.Storage; -using static Files.App.Helpers.Win32Helper; +using static Files.App.Helpers.NativeFindStorageItemHelper; using FileAttributes = System.IO.FileAttributes; namespace Files.App.Utils.Storage @@ -17,10 +18,11 @@ public static class Win32StorageEnumerator private static readonly string folderTypeTextLocalized = "Folder".GetLocalizedResource(); + public static async Task> ListEntries( string path, IntPtr hFile, - Win32PInvoke.WIN32_FIND_DATA findData, + NativeFindStorageItemHelper.WIN32_FIND_DATA findData, CancellationToken cancellationToken, int countLimit, Func, Task> intermediateAction @@ -97,16 +99,16 @@ Func, Task> intermediateAction // clear the temporary list every time we do an intermediate action tempList.Clear(); } - } while (Win32PInvoke.FindNextFile(hFile, out findData)); + } while (FindNextFile(hFile, out findData)); - Win32PInvoke.FindClose(hFile); + FindClose(hFile); return tempList; } private static IEnumerable EnumAdsForPath(string itemPath, ListedItem main) { - foreach (var ads in Win32Helper.GetAlternateStreams(itemPath)) + foreach (var ads in NativeFileOperationsHelper.GetAlternateStreams(itemPath)) yield return GetAlternateStream(ads, main); } @@ -143,7 +145,7 @@ public static ListedItem GetAlternateStream((string Name, long Size) ads, Listed } public static async Task GetFolder( - Win32PInvoke.WIN32_FIND_DATA findData, + NativeFindStorageItemHelper.WIN32_FIND_DATA findData, string pathRoot, bool isGitRepo, CancellationToken cancellationToken @@ -157,10 +159,10 @@ CancellationToken cancellationToken try { - Win32PInvoke.FileTimeToSystemTime(ref findData.ftLastWriteTime, out Win32PInvoke.SYSTEMTIME systemModifiedTimeOutput); + FileTimeToSystemTime(ref findData.ftLastWriteTime, out NativeFindStorageItemHelper.SYSTEMTIME systemModifiedTimeOutput); itemModifiedDate = systemModifiedTimeOutput.ToDateTime(); - Win32PInvoke.FileTimeToSystemTime(ref findData.ftCreationTime, out Win32PInvoke.SYSTEMTIME systemCreatedTimeOutput); + FileTimeToSystemTime(ref findData.ftCreationTime, out NativeFindStorageItemHelper.SYSTEMTIME systemCreatedTimeOutput); itemCreatedDate = systemCreatedTimeOutput.ToDateTime(); } catch (ArgumentException) @@ -220,7 +222,7 @@ CancellationToken cancellationToken } public static async Task GetFile( - Win32PInvoke.WIN32_FIND_DATA findData, + NativeFindStorageItemHelper.WIN32_FIND_DATA findData, string pathRoot, bool isGitRepo, CancellationToken cancellationToken @@ -233,13 +235,13 @@ CancellationToken cancellationToken try { - Win32PInvoke.FileTimeToSystemTime(ref findData.ftLastWriteTime, out Win32PInvoke.SYSTEMTIME systemModifiedDateOutput); + FileTimeToSystemTime(ref findData.ftLastWriteTime, out NativeFindStorageItemHelper.SYSTEMTIME systemModifiedDateOutput); itemModifiedDate = systemModifiedDateOutput.ToDateTime(); - Win32PInvoke.FileTimeToSystemTime(ref findData.ftCreationTime, out Win32PInvoke.SYSTEMTIME systemCreatedDateOutput); + FileTimeToSystemTime(ref findData.ftCreationTime, out NativeFindStorageItemHelper.SYSTEMTIME systemCreatedDateOutput); itemCreatedDate = systemCreatedDateOutput.ToDateTime(); - Win32PInvoke.FileTimeToSystemTime(ref findData.ftLastAccessTime, out Win32PInvoke.SYSTEMTIME systemLastAccessOutput); + FileTimeToSystemTime(ref findData.ftLastAccessTime, out NativeFindStorageItemHelper.SYSTEMTIME systemLastAccessOutput); itemLastAccessDate = systemLastAccessOutput.ToDateTime(); } catch (ArgumentException) @@ -270,7 +272,7 @@ CancellationToken cancellationToken // https://learn.microsoft.com/openspecs/windows_protocols/ms-fscc/c8e77b37-3909-4fe6-a4ea-2b9d423b1ee4 bool isReparsePoint = ((FileAttributes)findData.dwFileAttributes & FileAttributes.ReparsePoint) == FileAttributes.ReparsePoint; - bool isSymlink = isReparsePoint && findData.dwReserved0 == Win32PInvoke.IO_REPARSE_TAG_SYMLINK; + bool isSymlink = isReparsePoint && findData.dwReserved0 == NativeFileOperationsHelper.IO_REPARSE_TAG_SYMLINK; if (isSymlink) {