Made PlatformFunction an interface, changed permission requests

This commit is contained in:
Anuken
2018-01-04 14:08:52 -05:00
parent 325453cce0
commit b486570c28
6 changed files with 27 additions and 51 deletions
@@ -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;
}
+1 -12
View File
@@ -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();