From 2f4855b00ffc4cb89cd79d4fc132be86f9bf47ba Mon Sep 17 00:00:00 2001 From: Andrey Zavadskiy Date: Fri, 17 Feb 2017 21:07:59 +0300 Subject: [PATCH 1/3] Added exception --- osu.Desktop/Overlays/VersionManager.cs | 45 +++++++++++++++----------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/osu.Desktop/Overlays/VersionManager.cs b/osu.Desktop/Overlays/VersionManager.cs index 6c34838130..d7e5454b6a 100644 --- a/osu.Desktop/Overlays/VersionManager.cs +++ b/osu.Desktop/Overlays/VersionManager.cs @@ -15,6 +15,7 @@ using osu.Game.Graphics; using OpenTK; using OpenTK.Graphics; +using System; namespace osu.Desktop.Overlays { @@ -112,27 +113,35 @@ protected override void Dispose(bool isDisposing) private async void updateChecker() { - updateManager = await UpdateManager.GitHubUpdateManager(@"https://github.com/ppy/osu", @"osulazer", null, null, true); - - if (!updateManager.IsInstalledApp) - return; - - var info = await updateManager.CheckForUpdate(); - if (info.ReleasesToApply.Count > 0) + try { - ProgressNotification n = new UpdateProgressNotification - { - Text = @"Downloading update..." - }; - Schedule(() => notification.Post(n)); - Schedule(() => n.State = ProgressNotificationState.Active); - await updateManager.DownloadReleases(info.ReleasesToApply, (int p) => Schedule(() => n.Progress = p / 100f)); - Schedule(() => n.Text = @"Installing update..."); - await updateManager.ApplyReleases(info, (int p) => Schedule(() => n.Progress = p / 100f)); - Schedule(() => n.State = ProgressNotificationState.Completed); + updateManager = await UpdateManager.GitHubUpdateManager(@"https://github.com/ppy/osu", @"osulazer", null, null, true); + if (!updateManager.IsInstalledApp) + return; + + var info = await updateManager.CheckForUpdate(); + if (info.ReleasesToApply.Count > 0) + { + ProgressNotification n = new UpdateProgressNotification + { + Text = @"Downloading update..." + }; + Schedule(() => notification.Post(n)); + Schedule(() => n.State = ProgressNotificationState.Active); + await updateManager.DownloadReleases(info.ReleasesToApply, (int p) => Schedule(() => n.Progress = p / 100f)); + Schedule(() => n.Text = @"Installing update..."); + await updateManager.ApplyReleases(info, (int p) => Schedule(() => n.Progress = p / 100f)); + Schedule(() => n.State = ProgressNotificationState.Completed); + + } + else + { + //check again every 30 minutes. + Scheduler.AddDelayed(updateChecker, 60000 * 30); + } } - else + catch(Exception e) { //check again every 30 minutes. Scheduler.AddDelayed(updateChecker, 60000 * 30); From e803564b5a07ae5426f9f1dbd16c47b7cae6cc3f Mon Sep 17 00:00:00 2001 From: Andrey Zavadskiy Date: Sat, 18 Feb 2017 13:46:47 +0300 Subject: [PATCH 2/3] Added the specific exception --- osu.Desktop/Overlays/VersionManager.cs | 53 +++++++++++++------------- osu.Desktop/osu.Desktop.csproj | 19 ++++++++- osu.Desktop/packages.config | 3 ++ 3 files changed, 48 insertions(+), 27 deletions(-) diff --git a/osu.Desktop/Overlays/VersionManager.cs b/osu.Desktop/Overlays/VersionManager.cs index d7e5454b6a..1b72e85289 100644 --- a/osu.Desktop/Overlays/VersionManager.cs +++ b/osu.Desktop/Overlays/VersionManager.cs @@ -15,7 +15,7 @@ using osu.Game.Graphics; using OpenTK; using OpenTK.Graphics; -using System; +using System.Net.Http; namespace osu.Desktop.Overlays { @@ -116,32 +116,33 @@ private async void updateChecker() try { updateManager = await UpdateManager.GitHubUpdateManager(@"https://github.com/ppy/osu", @"osulazer", null, null, true); - - if (!updateManager.IsInstalledApp) - return; - - var info = await updateManager.CheckForUpdate(); - if (info.ReleasesToApply.Count > 0) - { - ProgressNotification n = new UpdateProgressNotification - { - Text = @"Downloading update..." - }; - Schedule(() => notification.Post(n)); - Schedule(() => n.State = ProgressNotificationState.Active); - await updateManager.DownloadReleases(info.ReleasesToApply, (int p) => Schedule(() => n.Progress = p / 100f)); - Schedule(() => n.Text = @"Installing update..."); - await updateManager.ApplyReleases(info, (int p) => Schedule(() => n.Progress = p / 100f)); - Schedule(() => n.State = ProgressNotificationState.Completed); - - } - else - { - //check again every 30 minutes. - Scheduler.AddDelayed(updateChecker, 60000 * 30); - } } - catch(Exception e) + catch(HttpRequestException) + { + //check again every 30 minutes. + Scheduler.AddDelayed(updateChecker, 60000 * 30); + return; + } + + if (!updateManager.IsInstalledApp) + return; + + var info = await updateManager.CheckForUpdate(); + if (info.ReleasesToApply.Count > 0) + { + ProgressNotification n = new UpdateProgressNotification + { + Text = @"Downloading update..." + }; + Schedule(() => notification.Post(n)); + Schedule(() => n.State = ProgressNotificationState.Active); + await updateManager.DownloadReleases(info.ReleasesToApply, (int p) => Schedule(() => n.Progress = p / 100f)); + Schedule(() => n.Text = @"Installing update..."); + await updateManager.ApplyReleases(info, (int p) => Schedule(() => n.Progress = p / 100f)); + Schedule(() => n.State = ProgressNotificationState.Completed); + + } + else { //check again every 30 minutes. Scheduler.AddDelayed(updateChecker, 60000 * 30); diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj index 2ab913d706..603ae53174 100644 --- a/osu.Desktop/osu.Desktop.csproj +++ b/osu.Desktop/osu.Desktop.csproj @@ -137,6 +137,16 @@ + + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll + True + + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll + True + + @@ -219,7 +229,9 @@ - + + + + + + From 3106c5209874aeb7bffc298f31d2ea2a4819a78a Mon Sep 17 00:00:00 2001 From: Andrey Zavadskiy Date: Sun, 19 Feb 2017 13:25:41 +0300 Subject: [PATCH 3/3] Removed unnecessary references --- osu.Desktop/osu.Desktop.csproj | 8 -------- osu.Desktop/packages.config | 2 -- 2 files changed, 10 deletions(-) diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj index 603ae53174..d85671f5be 100644 --- a/osu.Desktop/osu.Desktop.csproj +++ b/osu.Desktop/osu.Desktop.csproj @@ -229,9 +229,6 @@ - - - - -