Relocate android specific dependency (#7387)

This commit is contained in:
tool4ever
2025-04-12 07:47:07 +02:00
committed by GitHub
parent 2a4ea4cb5d
commit e2e3c658a0
10 changed files with 51 additions and 15 deletions

View File

@@ -225,6 +225,11 @@
<version>26.0.1</version> <version>26.0.1</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>org.jupnp</groupId>
<artifactId>org.jupnp.android</artifactId>
<version>3.0.2</version>
</dependency>
</dependencies> </dependencies>
<profiles> <profiles>

View File

@@ -64,6 +64,8 @@ import forge.interfaces.IDeviceAdapter;
import forge.util.FileUtil; import forge.util.FileUtil;
import forge.util.ThreadUtil; import forge.util.ThreadUtil;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.jupnp.DefaultUpnpServiceConfiguration;
import org.jupnp.android.AndroidUpnpServiceConfiguration;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;
@@ -618,6 +620,11 @@ public class Main extends AndroidApplication {
return result; return result;
} }
@Override
public DefaultUpnpServiceConfiguration getUpnpPlatformService() {
return new AndroidUpnpServiceConfiguration();
}
@Override @Override
public boolean isConnectedToInternet() { public boolean isConnectedToInternet() {
//if it can't determine Internet connection within two seconds, assume not connected //if it can't determine Internet connection within two seconds, assume not connected

View File

@@ -22,6 +22,8 @@ import javax.swing.JFileChooser;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jupnp.DefaultUpnpServiceConfiguration;
import org.jupnp.UpnpServiceConfiguration;
import forge.download.GuiDownloader; import forge.download.GuiDownloader;
import forge.error.BugReportDialog; import forge.error.BugReportDialog;
@@ -60,6 +62,11 @@ import forge.util.SwingImageFetcher;
public class GuiDesktop implements IGuiBase { public class GuiDesktop implements IGuiBase {
private ImageFetcher imageFetcher = new SwingImageFetcher(); private ImageFetcher imageFetcher = new SwingImageFetcher();
@Override
public UpnpServiceConfiguration getUpnpPlatformService() {
return new DefaultUpnpServiceConfiguration();
}
@Override @Override
public boolean isRunningOnDesktop() { public boolean isRunningOnDesktop() {
return true; return true;

View File

@@ -7,6 +7,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.jupnp.UpnpServiceConfiguration;
import org.robovm.apple.foundation.NSAutoreleasePool; import org.robovm.apple.foundation.NSAutoreleasePool;
import org.robovm.apple.uikit.UIApplication; import org.robovm.apple.uikit.UIApplication;
import org.robovm.apple.uikit.UIPasteboard; import org.robovm.apple.uikit.UIPasteboard;
@@ -138,5 +139,11 @@ public class Main extends IOSApplication.Delegate {
public ArrayList<String> getGamepads() { public ArrayList<String> getGamepads() {
return new ArrayList<>(); return new ArrayList<>();
} }
@Override
public UpnpServiceConfiguration getUpnpPlatformService() {
// not used
return null;
}
} }
} }

View File

@@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx;
import forge.interfaces.IDeviceAdapter; import forge.interfaces.IDeviceAdapter;
import forge.util.*; import forge.util.*;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.jupnp.UpnpServiceConfiguration;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import java.awt.Desktop; import java.awt.Desktop;
@@ -146,5 +147,11 @@ public class Main {
public ArrayList<String> getGamepads() { public ArrayList<String> getGamepads() {
return new ArrayList<>(); return new ArrayList<>();
} }
@Override
public UpnpServiceConfiguration getUpnpPlatformService() {
// shouldn't be reached
return null;
}
} }
} }

View File

@@ -11,6 +11,7 @@ import forge.deck.FDeckViewer;
import forge.error.BugReportDialog; import forge.error.BugReportDialog;
import forge.gamemodes.match.HostedMatch; import forge.gamemodes.match.HostedMatch;
import forge.gui.FThreads; import forge.gui.FThreads;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadService; import forge.gui.download.GuiDownloadService;
import forge.gui.interfaces.IGuiBase; import forge.gui.interfaces.IGuiBase;
import forge.gui.interfaces.IGuiGame; import forge.gui.interfaces.IGuiGame;
@@ -33,6 +34,9 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.function.Function; import java.util.function.Function;
import org.jupnp.DefaultUpnpServiceConfiguration;
import org.jupnp.UpnpServiceConfiguration;
public class GuiMobile implements IGuiBase { public class GuiMobile implements IGuiBase {
private final String assetsDir; private final String assetsDir;
private final ImageFetcher imageFetcher = new LibGDXImageFetcher(); private final ImageFetcher imageFetcher = new LibGDXImageFetcher();
@@ -42,6 +46,14 @@ public class GuiMobile implements IGuiBase {
assetsDir = assetsDir0; assetsDir = assetsDir0;
} }
@Override
public UpnpServiceConfiguration getUpnpPlatformService() {
if (GuiBase.isAndroid()) {
return Forge.getDeviceAdapter().getUpnpPlatformService();
}
return new DefaultUpnpServiceConfiguration();
}
@Override @Override
public boolean isRunningOnDesktop() { public boolean isRunningOnDesktop() {
return Gdx.app == null || Gdx.app.getType() == ApplicationType.Desktop; return Gdx.app == null || Gdx.app.getType() == ApplicationType.Desktop;

View File

@@ -62,11 +62,6 @@
<artifactId>org.jupnp.support</artifactId> <artifactId>org.jupnp.support</artifactId>
<version>3.0.2</version> <version>3.0.2</version>
</dependency> </dependency>
<dependency>
<groupId>org.jupnp</groupId>
<artifactId>org.jupnp.android</artifactId>
<version>3.0.2</version>
</dependency>
<dependency> <dependency>
<groupId>org.lz4</groupId> <groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId> <artifactId>lz4-java</artifactId>

View File

@@ -20,11 +20,8 @@ import io.netty.handler.codec.serialization.ClassResolvers;
import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler; import io.netty.handler.logging.LoggingHandler;
import org.jupnp.DefaultUpnpServiceConfiguration;
import org.jupnp.UpnpService; import org.jupnp.UpnpService;
import org.jupnp.UpnpServiceConfiguration;
import org.jupnp.UpnpServiceImpl; import org.jupnp.UpnpServiceImpl;
import org.jupnp.android.AndroidUpnpServiceConfiguration;
import org.jupnp.support.igd.PortMappingListener; import org.jupnp.support.igd.PortMappingListener;
import org.jupnp.support.model.PortMapping; import org.jupnp.support.model.PortMapping;
@@ -281,13 +278,7 @@ public final class FServerManager {
try { try {
// Create a new UPnP service instance // Create a new UPnP service instance
UpnpServiceConfiguration service; upnpService = new UpnpServiceImpl(GuiBase.getInterface().getUpnpPlatformService());
if (GuiBase.isAndroid()) {
service = new AndroidUpnpServiceConfiguration();
} else {
service = new DefaultUpnpServiceConfiguration();
}
upnpService = new UpnpServiceImpl(service);
upnpService.startup(); upnpService.startup();
// Add a PortMappingListener // Add a PortMappingListener

View File

@@ -17,6 +17,8 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.function.Function; import java.util.function.Function;
import org.jupnp.UpnpServiceConfiguration;
public interface IGuiBase { public interface IGuiBase {
boolean isRunningOnDesktop(); boolean isRunningOnDesktop();
boolean isLibgdxPort(); boolean isLibgdxPort();
@@ -61,4 +63,5 @@ public interface IGuiBase {
String encodeSymbols(String str, boolean formatReminderText); String encodeSymbols(String str, boolean formatReminderText);
void preventSystemSleep(boolean preventSleep); void preventSystemSleep(boolean preventSleep);
float getScreenScale(); float getScreenScale();
UpnpServiceConfiguration getUpnpPlatformService();
} }

View File

@@ -1,6 +1,7 @@
package forge.interfaces; package forge.interfaces;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.jupnp.UpnpServiceConfiguration;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@@ -25,4 +26,5 @@ public interface IDeviceAdapter {
void convertToJPEG(InputStream input, OutputStream output) throws IOException; void convertToJPEG(InputStream input, OutputStream output) throws IOException;
Pair<Integer, Integer> getRealScreenSize(boolean real); Pair<Integer, Integer> getRealScreenSize(boolean real);
ArrayList<String> getGamepads(); ArrayList<String> getGamepads();
UpnpServiceConfiguration getUpnpPlatformService();
} }