private async void GenerateDrivers() { IReadOnlyList <StorageFile> files = null; IReadOnlyList <StorageFolder> foldersIn = null; var drives = await Windows.Storage.KnownFolders.RemovableDevices.GetItemsAsync(); if (portableDrives.Count < drives.Count) { foreach (var drive in drives) { if (PortableDrives.Where(p => p.Name == drive.Name).Select(b => b).Count() != 0) { } else { var currentDrive = new PortableDrive { Name = drive.Name, Files = files, Folders = foldersIn }; PortableDrives.Add(currentDrive); currentDrive.Files = await((StorageFolder)drive).GetFilesAsync(); currentDrive.Folders = await((StorageFolder)drive).GetFoldersAsync(); } } } }
public static void EnumerateChildren(PortableDrive drive, FolderItem fi, List <IFolder> folders, List <IFile> files) { folders.Clear(); files.Clear(); if (fi.IsFolder) { foreach (FolderItem child in (fi.GetFolder as Folder).Items()) { if (child.IsLink) { // android shortcut " + child.Name Debug.Assert(false); } else if (child.IsFolder) { folders.Add(new PortableFolder(drive, child)); } else { files.Add(new PortableFile(drive, child as FolderItem2)); } } } }