async static void restoreTasks(NSUrlSession ses, NSUrlSessionDataTask[] sessions, NSUrlSessionUploadTask[] uploads, NSUrlSessionDownloadTask[] downloads)
{
List<BackgroundDownload> restoredDownloads = new List<BackgroundDownload>();
foreach(var d in downloads)
{
var url = d.OriginalRequest.Url.AbsoluteString;
if(d.Error != null)
{
BackgroundDownloadManager.Errored(d);
}
BackgroundDownload download;
BackgroundDownloadManager.BackgroundDownloadFile downloadFile;
download = new BackgroundDownload (d) {
SessionId = ses.Configuration.Identifier,
};
foreach(var key in BackgroundDownloadManager.Files)
{
Console.WriteLine(key.Key);
}
if(BackgroundDownloadManager.Files.TryGetValue(url, out downloadFile))
download.Destination = downloadFile.Destination;
BackgroundDownloadManager.AddController (url, download);
restoredDownloads.Add(download);
}
if(RestoredDownloads != null)
{
RestoredDownloads(restoredDownloads);
}
}