From: rnayabed Date: Sun, 28 Feb 2021 23:50:09 +0530 Subject: 1. Renamed "Default.obj" to "Default.zip" --- 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 --- --- '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