mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +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/ICheckBox.java -text
|
||||||
forge-gui/src/main/java/forge/interfaces/IComboBox.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/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/IProgressBar.java -text
|
||||||
forge-gui/src/main/java/forge/interfaces/ITextField.java -text
|
forge-gui/src/main/java/forge/interfaces/ITextField.java -text
|
||||||
forge-gui/src/main/java/forge/interfaces/IWinLoseView.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.WRITE_EXTERNAL_STORAGE"/>
|
||||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
|
|||||||
@@ -2,7 +2,10 @@ package forge.app;
|
|||||||
|
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
|
import android.net.ConnectivityManager;
|
||||||
|
import android.net.NetworkInfo;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
@@ -11,6 +14,7 @@ import com.badlogic.gdx.Gdx;
|
|||||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||||
|
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
|
import forge.interfaces.INetworkConnection;
|
||||||
import forge.util.FileUtil;
|
import forge.util.FileUtil;
|
||||||
|
|
||||||
public class Main extends AndroidApplication {
|
public class Main extends AndroidApplication {
|
||||||
@@ -37,7 +41,8 @@ public class Main extends AndroidApplication {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
initialize(Forge.getApp(new AndroidClipboard(), assetsDir, new Runnable() {
|
initialize(Forge.getApp(new AndroidClipboard(), new AndroidNetworkConnection(),
|
||||||
|
assetsDir, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
//ensure process doesn't stick around after exiting
|
//ensure process doesn't stick around after exiting
|
||||||
@@ -68,4 +73,20 @@ public class Main extends AndroidApplication {
|
|||||||
cm.setPrimaryClip(ClipData.newPlainText("Forge", contents0));
|
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 com.badlogic.gdx.backends.lwjgl.LwjglClipboard;
|
||||||
|
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
|
import forge.interfaces.INetworkConnection;
|
||||||
import forge.util.Utils;
|
import forge.util.Utils;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
new LwjglApplication(Forge.getApp(new LwjglClipboard(), "../forge-gui/", null),
|
new LwjglApplication(Forge.getApp(new LwjglClipboard(), new DesktopNetworkConnection(),
|
||||||
"Forge", Utils.DEV_SCREEN_WIDTH, Utils.DEV_SCREEN_HEIGHT);
|
"../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.assets.ImageCache;
|
||||||
import forge.error.BugReporter;
|
import forge.error.BugReporter;
|
||||||
import forge.error.ExceptionHandler;
|
import forge.error.ExceptionHandler;
|
||||||
|
import forge.interfaces.INetworkConnection;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.properties.ForgeConstants;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
@@ -40,6 +41,7 @@ public class Forge implements ApplicationListener {
|
|||||||
|
|
||||||
private static final ApplicationListener app = new Forge();
|
private static final ApplicationListener app = new Forge();
|
||||||
private static Clipboard clipboard;
|
private static Clipboard clipboard;
|
||||||
|
private static INetworkConnection networkConnection;
|
||||||
private static Runnable onExit;
|
private static Runnable onExit;
|
||||||
private static int screenWidth;
|
private static int screenWidth;
|
||||||
private static int screenHeight;
|
private static int screenHeight;
|
||||||
@@ -50,9 +52,10 @@ public class Forge implements ApplicationListener {
|
|||||||
private static final SoundSystem soundSystem = new SoundSystem();
|
private static final SoundSystem soundSystem = new SoundSystem();
|
||||||
private static final Stack<FScreen> screens = new Stack<FScreen>();
|
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) {
|
if (GuiBase.getInterface() == null) {
|
||||||
clipboard = clipboard0;
|
clipboard = clipboard0;
|
||||||
|
networkConnection = networkConnection0;
|
||||||
onExit = onExit0;
|
onExit = onExit0;
|
||||||
GuiBase.setInterface(new GuiMobile(assetDir0));
|
GuiBase.setInterface(new GuiMobile(assetDir0));
|
||||||
}
|
}
|
||||||
@@ -121,6 +124,10 @@ public class Forge implements ApplicationListener {
|
|||||||
return clipboard;
|
return clipboard;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static INetworkConnection getNetworkConnection() {
|
||||||
|
return networkConnection;
|
||||||
|
}
|
||||||
|
|
||||||
public static void showMenu() {
|
public static void showMenu() {
|
||||||
if (currentScreen == null) { return; }
|
if (currentScreen == null) { return; }
|
||||||
endKeyInput(); //end key input before menu shown
|
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