Fixed Application Not Responding when uploading map

This commit is contained in:
Yair Morgenstern 2019-12-13 14:40:45 +02:00
parent 307bccb7d0
commit 7eda5e9d31

View File

@ -14,6 +14,7 @@ import com.unciv.ui.saves.Gzip
import com.unciv.ui.utils.onClick import com.unciv.ui.utils.onClick
import com.unciv.ui.worldscreen.optionstable.DropBox import com.unciv.ui.worldscreen.optionstable.DropBox
import com.unciv.ui.worldscreen.optionstable.PopupTable import com.unciv.ui.worldscreen.optionstable.PopupTable
import kotlin.concurrent.thread
class MapEditorMenuPopup(mapEditorScreen: MapEditorScreen): PopupTable(mapEditorScreen){ class MapEditorMenuPopup(mapEditorScreen: MapEditorScreen): PopupTable(mapEditorScreen){
init{ init{
@ -64,22 +65,23 @@ class MapEditorMenuPopup(mapEditorScreen: MapEditorScreen): PopupTable(mapEditor
val uploadMapButton = TextButton("Upload map".tr(), skin) val uploadMapButton = TextButton("Upload map".tr(), skin)
uploadMapButton.onClick { uploadMapButton.onClick {
try { thread {
val gzippedMap = Gzip.zip(Json().toJson(mapEditorScreen.tileMap)) try {
DropBox().uploadFile("/Maps/" + mapEditorScreen.mapName, gzippedMap) val gzippedMap = Gzip.zip(Json().toJson(mapEditorScreen.tileMap))
DropBox().uploadFile("/Maps/" + mapEditorScreen.mapName, gzippedMap)
remove() remove()
val uploadedSuccessfully = PopupTable(screen) val uploadedSuccessfully = PopupTable(screen)
uploadedSuccessfully.addGoodSizedLabel("Map uploaded successfully!").row() uploadedSuccessfully.addGoodSizedLabel("Map uploaded successfully!").row()
uploadedSuccessfully.addCloseButton() uploadedSuccessfully.addCloseButton()
uploadedSuccessfully.open() uploadedSuccessfully.open()
} } catch (ex: Exception) {
catch(ex:Exception){ remove()
remove() val couldNotUpload = PopupTable(screen)
val couldNotUpload = PopupTable(screen) couldNotUpload.addGoodSizedLabel("Could not upload map!").row()
couldNotUpload.addGoodSizedLabel("Could not upload map!").row() couldNotUpload.addCloseButton()
couldNotUpload.addCloseButton() couldNotUpload.open()
couldNotUpload.open() }
} }
} }
add(uploadMapButton).row() add(uploadMapButton).row()