client

Clone or download

1. Renamed "Default.obj" to "Default.zip"

2. Changed how initLogger() works 3. Changed default width/height of startup screen, with resolution checker. 4. Added Resolution check for Android to be sent to the Server

Modified Files

--- 'a/src/main/java/com/stream_pi/client/connection/Client.java'
+++ b/src/main/java/com/stream_pi/client/connection/Client.java
@@ -359,8 +359,8 @@ public class Client extends Thread{
String clientCommStandard = clientInfo.getCommStandardVersion().getText();
String clientMinThemeStandard = clientInfo.getMinThemeSupportVersion().getText();
String clientNickname = Config.getInstance().getClientNickName();
- String screenWidth = Config.getInstance().getStartupWindowWidth()+"";
- String screenHeight = Config.getInstance().getStartupWindowHeight()+"";
+ String screenWidth = clientListener.getStageWidth()+"";
+ String screenHeight = clientListener.getStageHeight()+"";
String OS = clientInfo.getPlatformType()+"";
String defaultProfileID = Config.getInstance().getStartupProfileID();
--- 'a/src/main/java/com/stream_pi/client/connection/ClientListener.java'
+++ b/src/main/java/com/stream_pi/client/connection/ClientListener.java
@@ -50,4 +50,7 @@ public interface ClientListener
void onCloseRequest();
void loadSettings();
+
+ double getStageWidth();
+ double getStageHeight();
}
--- 'a/src/main/java/com/stream_pi/client/controller/Controller.java'
+++ b/src/main/java/com/stream_pi/client/controller/Controller.java
@@ -58,11 +58,11 @@ public class Controller extends Base
applyDefaultTheme();
-
setupDashWindow();
getStage().show();
+
requestFocus();
if(Config.getInstance().isFirstTimeUse())
--- 'a/src/main/java/com/stream_pi/client/window/Base.java'
+++ b/src/main/java/com/stream_pi/client/window/Base.java
@@ -31,6 +31,7 @@ import javafx.scene.image.Image;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
+import javafx.stage.Screen;
import javafx.stage.Stage;
public abstract class Base extends StackPane implements ExceptionAndAlertHandler, ClientListener {
@@ -83,7 +84,7 @@ public abstract class Base extends Stack
{
try
{
- if(logger != null || logFileHandler != null)
+ if(logFileHandler != null)
return;
closeLogger();
@@ -91,11 +92,10 @@ public abstract class Base extends Stack
if(new File(ClientInfo.getInstance().getPrePath()).getAbsoluteFile().getParentFile().canWrite())
{
-
- String path = ClientInfo.getInstance().getPrePath()+"../streampi.log";
+ String path = ClientInfo.getInstance().getPrePath()+"../stream-pi-client.log";
if(ClientInfo.getInstance().getPlatformType() == Platform.ANDROID)
- path = ClientInfo.getInstance().getPrePath()+"streampi.log";
+ path = ClientInfo.getInstance().getPrePath()+"stream-pi-client.log";
logFileHandler = new StreamPiLogFileHandler(path);
logger.addHandler(logFileHandler);
@@ -181,7 +181,12 @@ public abstract class Base extends Stack
applyDefaultIconsStylesheet();
getChildren().add(firstTimeUse);
+
firstTimeUse.toFront();
+
+ //resolution check
+ resizeAccordingToResolution();
+
}
else
{
@@ -191,6 +196,59 @@ public abstract class Base extends Stack
initThemes();
}
+ private void resizeAccordingToResolution()
+ {
+ if(ClientInfo.getInstance().getPlatformType() != Platform.ANDROID)
+ {
+ double height = getScreenHeight();
+ double width = getScreenWidth();
+
+ logger.info("HEIGHT: "+height+", WIDTH: "+width);
+
+ if(height < 500)
+ setPrefHeight(320);
+
+ if(width < 500)
+ setPrefWidth(240);
+ }
+ }
+
+ @Override
+ public double getStageWidth()
+ {
+ if(ClientInfo.getInstance().getPlatformType() == Platform.ANDROID)
+ {
+ return getScreenWidth();
+ }
+ else
+ {
+ return getStage().getWidth();
+ }
+ }
+
+ public double getScreenWidth()
+ {
+ return Screen.getPrimary().getBounds().getWidth();
+ }
+
+ @Override
+ public double getStageHeight()
+ {
+ if(ClientInfo.getInstance().getPlatformType() == Platform.ANDROID)
+ {
+ return getScreenHeight();
+ }
+ else
+ {
+ return getStage().getHeight();
+ }
+ }
+
+ public double getScreenHeight()
+ {
+ return Screen.getPrimary().getBounds().getHeight();
+ }
+
private void checkPrePathDirectory() throws SevereException
{
try
@@ -203,19 +261,18 @@ public abstract class Base extends Stack
boolean result = filex.mkdirs();
if(result)
{
- IOHelper.unzip(Main.class.getResourceAsStream("Default.obj"), ClientInfo.getInstance().getPrePath());
+ IOHelper.unzip(Main.class.getResourceAsStream("Default.zip"), ClientInfo.getInstance().getPrePath());
Config.getInstance().setThemesPath(ClientInfo.getInstance().getPrePath()+"Themes/");
Config.getInstance().setIconsPath(ClientInfo.getInstance().getPrePath()+"Icons/");
Config.getInstance().setProfilesPath(ClientInfo.getInstance().getPrePath()+"Profiles/");
Config.getInstance().save();
+
+ initLogger();
}
else
{
- if(getClientInfo().getPlatformType() != Platform.ANDROID)
- {
- setPrefSize(300,300);
- }
+ resizeAccordingToResolution();
clearStylesheets();
applyDefaultStylesheet();
--- /dev/null
+++ b/src/main/resources/META-INF/native-image/resource-config.json
@@ -0,0 +1,5 @@
+{
+ "resources": [
+ {"pattern": ".*\\.zip$"}
+ ]
+}
\ No newline at end of file
Binary files 'a/src/main/resources/com/stream_pi/client/Default.obj' and /dev/null differ
Binary files /dev/null and b/src/main/resources/com/stream_pi/client/Default.zip differ