Updated iOS map sharing

This commit is contained in:
Anuken
2018-05-19 18:25:20 -04:00
parent 0543569315
commit 66a1cc7b71
2 changed files with 13 additions and 3 deletions
@@ -234,9 +234,9 @@ public class MapEditorDialog extends Dialog{
new imagebutton("icon-save-image", isize, () -> { new imagebutton("icon-save-image", isize, () -> {
//iOS doesn't really support saving raw files. Sharing is used instead. //iOS doesn't really support saving raw files. Sharing is used instead.
if(!ios){ if(!ios){
saveFile.show() saveFile.show();
}else { }else {
Platforms.instance.shareImage(editor.pixmap()); Platform.instance.shareImage(editor.pixmap());
} }
}).text("$text.editor.saveimage"); }).text("$text.editor.saveimage");
+11 -1
View File
@@ -3,7 +3,10 @@ package io.anuke.mindustry;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.backends.iosrobovm.IOSApplication; import com.badlogic.gdx.backends.iosrobovm.IOSApplication;
import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration; import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.PixmapIO;
import com.esotericsoftware.minlog.Log;
import io.anuke.kryonet.DefaultThreadImpl; import io.anuke.kryonet.DefaultThreadImpl;
import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoClient;
import io.anuke.kryonet.KryoServer; import io.anuke.kryonet.KryoServer;
@@ -15,6 +18,7 @@ import io.anuke.ucore.scene.ui.TextField;
import io.anuke.ucore.scene.ui.layout.Unit; import io.anuke.ucore.scene.ui.layout.Unit;
import org.robovm.apple.foundation.NSAutoreleasePool; import org.robovm.apple.foundation.NSAutoreleasePool;
import org.robovm.apple.foundation.NSURL; import org.robovm.apple.foundation.NSURL;
import org.robovm.apple.uikit.UIActivityViewController;
import org.robovm.apple.uikit.UIApplication; import org.robovm.apple.uikit.UIApplication;
import org.robovm.apple.uikit.UIApplicationLaunchOptions; import org.robovm.apple.uikit.UIApplicationLaunchOptions;
import org.robovm.apple.uikit.UIApplicationOpenURLOptions; import org.robovm.apple.uikit.UIApplicationOpenURLOptions;
@@ -22,6 +26,7 @@ import org.robovm.apple.uikit.UIApplicationOpenURLOptions;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.Locale; import java.util.Locale;
@@ -70,8 +75,13 @@ public class IOSLauncher extends IOSApplication.Delegate {
@Override @Override
public void shareImage(Pixmap image){ public void shareImage(Pixmap image){
//todo share it FileHandle file = Gdx.files.local("tmp-img.pmh");
NSURL url = new NSURL(file.file());
PixmapIO.writePNG(file, image);
UIActivityViewController p = new UIActivityViewController(Collections.singletonList(url), null);
UIApplication.getSharedApplication().getKeyWindow().getRootViewController()
.presentViewController(p, true, () -> Log.info("Success! Presented someting."));
} }
}; };