From 78af4e2120097d168f2a4b2e0b0cee2e79db66cd Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 6 Nov 2020 21:02:08 -0500 Subject: [PATCH] Fixed iOS sharing --- .../ui/dialogs/SettingsMenuDialog.java | 42 ++++++++++++------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index 31c0aa758a..33bd49b0d7 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -199,24 +199,19 @@ public class SettingsMenuDialog extends SettingsDialog{ t.row(); t.button("@crash.export", Icon.upload, style, () -> { - if(settings.getDataDirectory().child("crashes").list().length == 0){ + if(settings.getDataDirectory().child("crashes").list().length == 0 && !settings.getDataDirectory().child("last_log.txt").exists()){ ui.showInfo("@crash.none"); }else{ - platform.showFileChooser(false, "txt", file -> { - Fi log = settings.getDataDirectory().child("last_log.txt"); - - StringBuilder out = new StringBuilder(); - for(Fi fi : settings.getDataDirectory().child("crashes").list()){ - out.append(fi.name()).append("\n\n").append(fi.readString()).append("\n"); - } - - if(log.exists()){ - out.append("\nlast log:\n").append(log.readString()); - } - - file.writeString(out.toString()); - app.post(() -> ui.showInfo("@crash.exported")); - }); + if(ios){ + Fi logs = tmpDirectory.child("logs.txt"); + logs.writeString(getLogs()); + platform.shareFile(logs); + }else{ + platform.showFileChooser(false, "txt", file -> { + file.writeString(getLogs()); + app.post(() -> ui.showInfo("@crash.exported")); + }); + } } }).marginLeft(4); }); @@ -250,6 +245,21 @@ public class SettingsMenuDialog extends SettingsDialog{ addSettings(); } + String getLogs(){ + Fi log = settings.getDataDirectory().child("last_log.txt"); + + StringBuilder out = new StringBuilder(); + for(Fi fi : settings.getDataDirectory().child("crashes").list()){ + out.append(fi.name()).append("\n\n").append(fi.readString()).append("\n"); + } + + if(log.exists()){ + out.append("\nlast log:\n").append(log.readString()); + } + + return out.toString(); + } + void rebuildMenu(){ menu.clearChildren();