From 7eda5e9d31af421a5f8f2aece4c455064d97e294 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Fri, 13 Dec 2019 14:40:45 +0200 Subject: [PATCH] Fixed Application Not Responding when uploading map --- .../unciv/ui/mapeditor/MapEditorMenuPopup.kt | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt b/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt index 4f44862f4a..d828a8dcfb 100644 --- a/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt +++ b/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt @@ -14,6 +14,7 @@ import com.unciv.ui.saves.Gzip import com.unciv.ui.utils.onClick import com.unciv.ui.worldscreen.optionstable.DropBox import com.unciv.ui.worldscreen.optionstable.PopupTable +import kotlin.concurrent.thread class MapEditorMenuPopup(mapEditorScreen: MapEditorScreen): PopupTable(mapEditorScreen){ init{ @@ -64,22 +65,23 @@ class MapEditorMenuPopup(mapEditorScreen: MapEditorScreen): PopupTable(mapEditor val uploadMapButton = TextButton("Upload map".tr(), skin) uploadMapButton.onClick { - try { - val gzippedMap = Gzip.zip(Json().toJson(mapEditorScreen.tileMap)) - DropBox().uploadFile("/Maps/" + mapEditorScreen.mapName, gzippedMap) + thread { + try { + val gzippedMap = Gzip.zip(Json().toJson(mapEditorScreen.tileMap)) + DropBox().uploadFile("/Maps/" + mapEditorScreen.mapName, gzippedMap) - remove() - val uploadedSuccessfully = PopupTable(screen) - uploadedSuccessfully.addGoodSizedLabel("Map uploaded successfully!").row() - uploadedSuccessfully.addCloseButton() - uploadedSuccessfully.open() - } - catch(ex:Exception){ - remove() - val couldNotUpload = PopupTable(screen) - couldNotUpload.addGoodSizedLabel("Could not upload map!").row() - couldNotUpload.addCloseButton() - couldNotUpload.open() + remove() + val uploadedSuccessfully = PopupTable(screen) + uploadedSuccessfully.addGoodSizedLabel("Map uploaded successfully!").row() + uploadedSuccessfully.addCloseButton() + uploadedSuccessfully.open() + } catch (ex: Exception) { + remove() + val couldNotUpload = PopupTable(screen) + couldNotUpload.addGoodSizedLabel("Could not upload map!").row() + couldNotUpload.addCloseButton() + couldNotUpload.open() + } } } add(uploadMapButton).row()