コード例 #1
0
 private async Task AddFolder(string newId)
 {
     try
     {
         var folder   = StorageDevice.FromId(newId);
         var external = new LocalFileExplorerViewModel(folder, RootFolderType.ExternalDevice, newId);
         await DispatchHelper.InvokeAsync(CoreDispatcherPriority.Normal, () => external.LogoGlyph = App.Current.Resources["USBFilledSymbol"] as string);
         await AddToFolder(external);
     }
     catch { }
 }
コード例 #2
0
        private async Task InitializeUSBKey()
        {
            var devices = KnownFolders.RemovableDevices;
            IReadOnlyList <StorageFolder> rootFolders = await devices.GetFoldersAsync();

            foreach (StorageFolder rootFolder in rootFolders)
            {
                var external = new LocalFileExplorerViewModel(rootFolder, RootFolderType.ExternalDevice);
                await DispatchHelper.InvokeAsync(CoreDispatcherPriority.Normal, () => external.LogoGlyph = App.Current.Resources["USBFilledSymbol"] as string);
                await AddToFolder(external);
            }
        }
コード例 #3
0
        public async Task OnNavigatedTo()
        {
            if (FileExplorersGrouped.Any() == false)
            {
                var categories = Enum.GetValues(typeof(RootFolderType)).Cast <RootFolderType>();
                if (DeviceHelper.GetDeviceType() == DeviceTypeEnum.Xbox)
                {
                    categories = categories.Where(x => x != RootFolderType.Library);
                }

                foreach (var c in categories)
                {
                    await CreateFolderCategory(c);
                }

                if (DeviceHelper.GetDeviceType() != DeviceTypeEnum.Xbox)
                {
                    var musicFolder = new LocalFileExplorerViewModel(KnownFolders.MusicLibrary, RootFolderType.Library);
                    musicFolder.LogoGlyph = App.Current.Resources["MusicFilledSymbol"] as string;
                    await AddToFolder(musicFolder);

                    var videoFolder = new LocalFileExplorerViewModel(KnownFolders.VideosLibrary, RootFolderType.Library);
                    videoFolder.LogoGlyph = App.Current.Resources["VideoFilledSymbol"] as string;
                    await AddToFolder(videoFolder);

                    var picFolder = new LocalFileExplorerViewModel(KnownFolders.PicturesLibrary, RootFolderType.Library);
                    picFolder.LogoGlyph = App.Current.Resources["BuddySymbol"] as string;
                    await AddToFolder(picFolder);
                }
            }

            Locator.ExternalDeviceService.ExternalDeviceAdded   += DeviceAdded;
            Locator.ExternalDeviceService.ExternalDeviceRemoved += DeviceRemoved;

            if (CurrentStorageVM == null)
            {
                FileExplorerVisibility = Visibility.Collapsed;
                RootFoldersVisibility  = Visibility.Visible;
            }
            await Task.Run(async() =>
            {
                Locator.MediaLibrary.MediaListItemAdded   += VLCService_MediaListItemAdded;
                Locator.MediaLibrary.MediaListItemDeleted += VLCService_MediaListItemDeleted;
                await Locator.MediaLibrary.InitDiscoverer();
            });

            await InitializeUSBKey();
        }
コード例 #4
0
        private async Task InitializeSDCard()
        {
            var devices = KnownFolders.RemovableDevices;
            var cards   = await devices.GetFoldersAsync();

            if (cards.Any())
            {
                await CleanAllFromType(RootFolderType.ExternalDevice);

                foreach (var card in cards)
                {
                    var external = new LocalFileExplorerViewModel(card, RootFolderType.ExternalDevice);
                    await DispatchHelper.InvokeAsync(CoreDispatcherPriority.Normal, () => external.LogoGlyph = App.Current.Resources["SDCardSymbol"] as string);
                    await AddToFolder(external);
                }
            }
        }