iOS fixes
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=7f149f0747ff41f1bfa80e2153d2b66402ba63c1
|
archash=135280caef29618972b83c6919a48259c46f34bd
|
||||||
|
|||||||
@@ -41,12 +41,32 @@ public class IOSLauncher extends IOSApplication.Delegate{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showFileChooser(boolean open, String extension, Cons<Fi> cons){
|
public void showFileChooser(boolean open, String extension, Cons<Fi> 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<NSString>)null);
|
UIDocumentBrowserViewController cont = new UIDocumentBrowserViewController((NSArray<NSString>)null);
|
||||||
|
|
||||||
NSArray<UIBarButtonItem> arr = new NSArray<>(new UIBarButtonItem(Core.bundle.get("cancel"), UIBarButtonItemStyle.Plain,
|
NSArray<UIBarButtonItem> arr = new NSArray<>(new UIBarButtonItem(Core.bundle.get("cancel"), UIBarButtonItemStyle.Plain,
|
||||||
uiBarButtonItem -> cont.dismissViewController(true, () -> {})));
|
uiBarButtonItem -> cont.dismissViewController(true, () -> {})));
|
||||||
|
|
||||||
cont.setAllowsDocumentCreation(!open);
|
cont.setAllowsDocumentCreation(false);
|
||||||
cont.setAdditionalLeadingNavigationBarButtonItems(arr);
|
cont.setAdditionalLeadingNavigationBarButtonItems(arr);
|
||||||
|
|
||||||
class ChooserDelegate extends NSObject implements UIDocumentBrowserViewControllerDelegate{
|
class ChooserDelegate extends NSObject implements UIDocumentBrowserViewControllerDelegate{
|
||||||
@@ -88,37 +108,15 @@ public class IOSLauncher extends IOSApplication.Delegate{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void didRequestDocumentCreationWithHandler(UIDocumentBrowserViewController controller, VoidBlock2<NSURL, UIDocumentBrowserImportMode> importHandler){
|
public void didRequestDocumentCreationWithHandler(UIDocumentBrowserViewController controller, VoidBlock2<NSURL, UIDocumentBrowserImportMode> 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
|
@Override
|
||||||
public void didImportDocument(UIDocumentBrowserViewController controller, NSURL sourceURL, NSURL destinationURL){
|
public void didImportDocument(UIDocumentBrowserViewController controller, NSURL sourceURL, NSURL destinationURL){
|
||||||
//hide it, done with export
|
|
||||||
cont.dismissViewController(true, () -> {});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void failedToImportDocument(UIDocumentBrowserViewController controller, NSURL documentURL, NSError error){
|
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
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user