From a866af40cb9f5d59942d573a5c3acad0224894af Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 19 Feb 2020 10:21:35 -0500 Subject: [PATCH] iOS fixes --- gradle.properties | 2 +- ios/src/mindustry/ios/IOSLauncher.java | 44 ++++++++++++-------------- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/gradle.properties b/gradle.properties index d496de7400..7b4cee4a7e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=7f149f0747ff41f1bfa80e2153d2b66402ba63c1 +archash=135280caef29618972b83c6919a48259c46f34bd diff --git a/ios/src/mindustry/ios/IOSLauncher.java b/ios/src/mindustry/ios/IOSLauncher.java index b3668330ec..ad79b57858 100644 --- a/ios/src/mindustry/ios/IOSLauncher.java +++ b/ios/src/mindustry/ios/IOSLauncher.java @@ -41,12 +41,32 @@ public class IOSLauncher extends IOSApplication.Delegate{ @Override public void showFileChooser(boolean open, String extension, Cons cons){ + if(!open){ //when exporting, just share it. + //ask for export name + Core.input.getTextInput(new TextInput(){{ + title = Core.bundle.get("filename"); + accepted = name -> { + try{ + //write result + Fi result = tmpDirectory.child(name + "." + extension); + cons.get(result); + + //import the document + shareFile(result); + }catch(Throwable t){ + ui.showException(t); + } + }; + }}); + return; + } + UIDocumentBrowserViewController cont = new UIDocumentBrowserViewController((NSArray)null); NSArray arr = new NSArray<>(new UIBarButtonItem(Core.bundle.get("cancel"), UIBarButtonItemStyle.Plain, uiBarButtonItem -> cont.dismissViewController(true, () -> {}))); - cont.setAllowsDocumentCreation(!open); + cont.setAllowsDocumentCreation(false); cont.setAdditionalLeadingNavigationBarButtonItems(arr); class ChooserDelegate extends NSObject implements UIDocumentBrowserViewControllerDelegate{ @@ -88,37 +108,15 @@ public class IOSLauncher extends IOSApplication.Delegate{ @Override public void didRequestDocumentCreationWithHandler(UIDocumentBrowserViewController controller, VoidBlock2 importHandler){ - Core.app.post(() -> { - //ask for name - Core.input.getTextInput(new TextInput(){{ - title = Core.bundle.get("name"); - accepted = name -> { - try{ - //write result - Fi result = tmpDirectory.child(name + "." + extension); - cons.get(result); - //import the document - importHandler.invoke(new NSURL(result.absolutePath()), UIDocumentBrowserImportMode.Move); - }catch(Throwable t){ - ui.showException(t); - } - }; - }}); - }); } @Override public void didImportDocument(UIDocumentBrowserViewController controller, NSURL sourceURL, NSURL destinationURL){ - //hide it, done with export - cont.dismissViewController(true, () -> {}); } @Override public void failedToImportDocument(UIDocumentBrowserViewController controller, NSURL documentURL, NSError error){ - //failed, still hide it but show error message - Core.app.post(() -> ui.showErrorMessage(error.getLocalizedDescription() + "\n" + error.getLocalizedFailureReason())); - cont.dismissViewController(true, () -> {}); } @Override