Browse Source

Update downloader try catch

Krzysztof Krysiński 2 years ago
parent
commit
0647e1eca8

+ 4 - 1
src/PixiEditor/Data/Localization/Languages/en.json

@@ -586,5 +586,8 @@
   "ADD_PRIMARY_COLOR_TO_PALETTE": "Add primary color to palette",
   "ADD_PRIMARY_COLOR_TO_PALETTE_DESCRIPTIVE": "Add primary color to current palette",
   
-  "COPY_COLOR": "Copy color"
+  "COPY_COLOR": "Copy color",
+
+  "FAILED_DOWNLOADING_TITLE": "Downloading update failed",
+  "FAILED_DOWNLOADING": "Failed downloading the update, there is probably not enough space on the disk"
 }

+ 14 - 5
src/PixiEditor/ViewModels/SubViewModels/Main/UpdateViewModel.cs

@@ -79,16 +79,25 @@ internal class UpdateViewModel : SubViewModel<ViewModelMain>
         {
             UpdateReadyToInstall = false;
             VersionText = new LocalizedString("DOWNLOADING_UPDATE");
-            if (updateCompatible)
+            try
             {
-                await UpdateDownloader.DownloadReleaseZip(UpdateChecker.LatestReleaseInfo);
+                if (updateCompatible)
+                {
+                    await UpdateDownloader.DownloadReleaseZip(UpdateChecker.LatestReleaseInfo);
+                }
+                else
+                {
+                    await UpdateDownloader.DownloadInstaller(UpdateChecker.LatestReleaseInfo);
+                }
+
+                UpdateReadyToInstall = true;
             }
-            else
+            catch (IOException ex)
             {
-                await UpdateDownloader.DownloadInstaller(UpdateChecker.LatestReleaseInfo);
+                NoticeDialog.Show("FAILED_DOWNLOADING_TITLE", "FAILED_DOWNLOADING");
+                return false;
             }
 
-            UpdateReadyToInstall = true;
             return true;
         }