Made PlatformFunction an interface, changed permission requests
This commit is contained in:
@@ -5,8 +5,8 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.telephony.TelephonyManager;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
||||
@@ -31,12 +31,6 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
protected void onCreate(Bundle savedInstanceState){
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (this.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
this.requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
|
||||
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
|
||||
config.useImmersiveMode = true;
|
||||
|
||||
@@ -66,12 +60,6 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
TextFieldDialogListener.add(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateRPC() { }
|
||||
|
||||
@Override
|
||||
public void onGameExit() { }
|
||||
|
||||
@Override
|
||||
public void openDonations() {
|
||||
showDonations();
|
||||
@@ -80,13 +68,26 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
@Override
|
||||
public void requestWritePerms() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
|
||||
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED &&
|
||||
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
|
||||
}else{
|
||||
|
||||
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
|
||||
}
|
||||
|
||||
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Mindustry.platforms.requestWritePerms();
|
||||
|
||||
if(doubleScaleTablets && isTablet(this.getContext())){
|
||||
Unit.dp.addition = 0.5f;
|
||||
}
|
||||
|
||||
@@ -14,24 +14,13 @@ import io.anuke.ucore.core.Core;
|
||||
import io.anuke.ucore.core.Inputs;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.modules.ModuleCore;
|
||||
import io.anuke.ucore.scene.ui.TextField;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class Mindustry extends ModuleCore {
|
||||
public static boolean hasDiscord = true;
|
||||
public static Array<String> args = new Array<>();
|
||||
public static PlatformFunction platforms = new PlatformFunction(){
|
||||
@Override public String format(Date date){ return "invalid date"; }
|
||||
@Override public String format(int number){ return number + ""; }
|
||||
@Override public void openLink(String link){ }
|
||||
@Override public void addDialog(TextField field){}
|
||||
@Override public void updateRPC() {}
|
||||
@Override public void onGameExit() {}
|
||||
@Override public void openDonations() {}
|
||||
@Override public void requestWritePerms() {}
|
||||
};
|
||||
public static PlatformFunction platforms = new PlatformFunction(){};
|
||||
public static OrderedMap<String, Integer> idMap = new OrderedMap<>();
|
||||
|
||||
public static boolean externalBundle = false;
|
||||
|
||||
@@ -4,13 +4,13 @@ import io.anuke.ucore.scene.ui.TextField;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public interface PlatformFunction{
|
||||
public String format(Date date);
|
||||
public String format(int number);
|
||||
public void openLink(String link);
|
||||
public void addDialog(TextField field);
|
||||
public void updateRPC();
|
||||
public void onGameExit();
|
||||
public void openDonations();
|
||||
public void requestWritePerms();
|
||||
public abstract class PlatformFunction{
|
||||
public String format(Date date){return "invalid";}
|
||||
public String format(int number){return "invalid";}
|
||||
public void openLink(String link){}
|
||||
public void addDialog(TextField field){}
|
||||
public void updateRPC(){}
|
||||
public void onGameExit(){}
|
||||
public void openDonations(){}
|
||||
public void requestWritePerms(){}
|
||||
}
|
||||
|
||||
@@ -40,9 +40,7 @@ public class FileChooser extends FloatingDialog{
|
||||
this.selectListener = result;
|
||||
setupWidgets();
|
||||
|
||||
if(!open){
|
||||
Mindustry.platforms.requestWritePerms();
|
||||
}
|
||||
Mindustry.platforms.requestWritePerms();
|
||||
}
|
||||
|
||||
private void setupWidgets(){
|
||||
|
||||
@@ -14,7 +14,6 @@ import io.anuke.mindustry.core.GameState;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.io.PlatformFunction;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.ucore.scene.ui.TextField;
|
||||
import io.anuke.ucore.util.Strings;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -67,10 +66,6 @@ public class DesktopLauncher {
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void addDialog(TextField field){}
|
||||
@Override public void openDonations(){}
|
||||
@Override public void requestWritePerms(){}
|
||||
|
||||
@Override
|
||||
public void updateRPC() {
|
||||
DiscordRichPresence presence = new DiscordRichPresence();
|
||||
|
||||
@@ -17,7 +17,6 @@ import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.ui.*;
|
||||
import io.anuke.mindustry.Mindustry;
|
||||
import io.anuke.mindustry.io.PlatformFunction;
|
||||
import io.anuke.ucore.scene.ui.TextField;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -109,12 +108,6 @@ public class HtmlLauncher extends GwtApplication {
|
||||
public void openLink(String link){
|
||||
Window.open(link, "_blank", "");
|
||||
}
|
||||
|
||||
@Override public void updateRPC() {}
|
||||
@Override public void onGameExit() {}
|
||||
@Override public void addDialog(TextField field){}
|
||||
@Override public void openDonations(){}
|
||||
@Override public void requestWritePerms() {}
|
||||
};
|
||||
|
||||
return new Mindustry();
|
||||
|
||||
Reference in New Issue
Block a user