public async void DiscoverActiveUploads() { lock (_lockObject) { if (_uploadsAttached) { return; } _uploadsAttached = true; } IsLoading = true; await Task.Run(async() => { IReadOnlyList <UploadOperation> uploads = null; try { uploads = await BackgroundUploader.GetCurrentUploadsForTransferGroupAsync(_transferGroup); } catch (Exception ex) { WebErrorStatus error = BackgroundTransferError.GetStatus(ex.HResult); _logService.LogText($"Getting uploads error - {error}\n{ex.ToString()}"); } if (uploads != null && uploads.Count > 0) { foreach (var upload in uploads) { var cachedUpload = await _database.GetAsync(upload.Guid); HandleUploadAsync(upload, cachedUpload, false); } } }); IsLoading = false; }