mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
Add support for testing network connection
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -16674,6 +16674,7 @@ forge-gui/src/main/java/forge/interfaces/IButton.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/ICheckBox.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/IComboBox.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/IGuiBase.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/INetworkConnection.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/IProgressBar.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/ITextField.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/IWinLoseView.java -text
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
|
||||
@@ -2,7 +2,10 @@ package forge.app;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
@@ -11,6 +14,7 @@ import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||
|
||||
import forge.Forge;
|
||||
import forge.interfaces.INetworkConnection;
|
||||
import forge.util.FileUtil;
|
||||
|
||||
public class Main extends AndroidApplication {
|
||||
@@ -37,7 +41,8 @@ public class Main extends AndroidApplication {
|
||||
return;
|
||||
}
|
||||
|
||||
initialize(Forge.getApp(new AndroidClipboard(), assetsDir, new Runnable() {
|
||||
initialize(Forge.getApp(new AndroidClipboard(), new AndroidNetworkConnection(),
|
||||
assetsDir, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
//ensure process doesn't stick around after exiting
|
||||
@@ -68,4 +73,20 @@ public class Main extends AndroidApplication {
|
||||
cm.setPrimaryClip(ClipData.newPlainText("Forge", contents0));
|
||||
}
|
||||
}
|
||||
|
||||
private class AndroidNetworkConnection implements INetworkConnection {
|
||||
private final ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
|
||||
@Override
|
||||
public boolean isConnected() {
|
||||
NetworkInfo activeNetworkInfo = connManager.getActiveNetworkInfo();
|
||||
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConnectedToWifi() {
|
||||
NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
|
||||
return wifi.isConnected();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,25 @@ import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
|
||||
import com.badlogic.gdx.backends.lwjgl.LwjglClipboard;
|
||||
|
||||
import forge.Forge;
|
||||
import forge.interfaces.INetworkConnection;
|
||||
import forge.util.Utils;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
new LwjglApplication(Forge.getApp(new LwjglClipboard(), "../forge-gui/", null),
|
||||
"Forge", Utils.DEV_SCREEN_WIDTH, Utils.DEV_SCREEN_HEIGHT);
|
||||
new LwjglApplication(Forge.getApp(new LwjglClipboard(), new DesktopNetworkConnection(),
|
||||
"../forge-gui/", null), "Forge", Utils.DEV_SCREEN_WIDTH, Utils.DEV_SCREEN_HEIGHT);
|
||||
}
|
||||
|
||||
private static class DesktopNetworkConnection implements INetworkConnection {
|
||||
//just assume desktop always connected to wifi
|
||||
@Override
|
||||
public boolean isConnected() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConnectedToWifi() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import forge.assets.FSkinFont;
|
||||
import forge.assets.ImageCache;
|
||||
import forge.error.BugReporter;
|
||||
import forge.error.ExceptionHandler;
|
||||
import forge.interfaces.INetworkConnection;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.properties.ForgePreferences;
|
||||
@@ -40,6 +41,7 @@ public class Forge implements ApplicationListener {
|
||||
|
||||
private static final ApplicationListener app = new Forge();
|
||||
private static Clipboard clipboard;
|
||||
private static INetworkConnection networkConnection;
|
||||
private static Runnable onExit;
|
||||
private static int screenWidth;
|
||||
private static int screenHeight;
|
||||
@@ -50,9 +52,10 @@ public class Forge implements ApplicationListener {
|
||||
private static final SoundSystem soundSystem = new SoundSystem();
|
||||
private static final Stack<FScreen> screens = new Stack<FScreen>();
|
||||
|
||||
public static ApplicationListener getApp(Clipboard clipboard0, String assetDir0, Runnable onExit0) {
|
||||
public static ApplicationListener getApp(Clipboard clipboard0, INetworkConnection networkConnection0, String assetDir0, Runnable onExit0) {
|
||||
if (GuiBase.getInterface() == null) {
|
||||
clipboard = clipboard0;
|
||||
networkConnection = networkConnection0;
|
||||
onExit = onExit0;
|
||||
GuiBase.setInterface(new GuiMobile(assetDir0));
|
||||
}
|
||||
@@ -121,6 +124,10 @@ public class Forge implements ApplicationListener {
|
||||
return clipboard;
|
||||
}
|
||||
|
||||
public static INetworkConnection getNetworkConnection() {
|
||||
return networkConnection;
|
||||
}
|
||||
|
||||
public static void showMenu() {
|
||||
if (currentScreen == null) { return; }
|
||||
endKeyInput(); //end key input before menu shown
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package forge.interfaces;
|
||||
|
||||
public interface INetworkConnection {
|
||||
boolean isConnected();
|
||||
boolean isConnectedToWifi();
|
||||
}
|
||||
Reference in New Issue
Block a user