From: Debayan Sutradhar Date: Mon, 28 Jun 2021 23:45:03 +0530 Subject: Fix #77 #78 --- Fix #77 #78 --- --- 'a/src/main/java/com/stream_pi/client/controller/ClientListener.java' +++ b/src/main/java/com/stream_pi/client/controller/ClientListener.java @@ -79,4 +79,6 @@ public interface ClientListener Orientation getCurrentOrientation(); void setFirstRun(boolean firstRun); + + ScreenSaver getScreenSaver(); } --- 'a/src/main/java/com/stream_pi/client/controller/Controller.java' +++ b/src/main/java/com/stream_pi/client/controller/Controller.java @@ -59,6 +59,12 @@ public class Controller extends Base private ScreenSaver screenSaver = null; @Override + public ScreenSaver getScreenSaver() + { + return screenSaver; + } + + @Override public void init() { try @@ -94,19 +100,17 @@ public class Controller extends Base "delete the old starter file, then exit and restart Stream-Pi as normal user.", StreamPiAlertType.ERROR).show(); else { - if(StartupFlags.RUNNER_FILE_NAME == null) + try { - new StreamPiAlert("Uh Oh!", - "It looks like the runner file name for startup isn't specified in " + - "startup arguments. The start on boot functionality will be turned off.").show(); - getConfig().setStartOnBoot(false); - } - else - { - startAtBoot.create(new File(StartupFlags.RUNNER_FILE_NAME), + startAtBoot.create(StartupFlags.RUNNER_FILE_NAME, StartupFlags.IS_X_MODE); getConfig().setStartupIsXMode(StartupFlags.IS_X_MODE); } + catch (MinorException e) + { + getConfig().setStartOnBoot(false); + handleMinorException(e); + } } } } --- 'a/src/main/java/com/stream_pi/client/controller/ScreenSaver.java' +++ b/src/main/java/com/stream_pi/client/controller/ScreenSaver.java @@ -56,6 +56,8 @@ public class ScreenSaver extends StackPa } } + + public void stop() { stopTimer(); @@ -93,7 +95,12 @@ public class ScreenSaver extends StackPa restartTimer(); } - private void restartTimer() + public void setTimeout(long timeout) + { + this.timeout = timeout; + } + + public void restartTimer() { stopTimer(); startTimer(); --- 'a/src/main/java/com/stream_pi/client/window/settings/GeneralTab.java' +++ b/src/main/java/com/stream_pi/client/window/settings/GeneralTab.java @@ -600,28 +600,28 @@ public class GeneralTab extends VBox if(config.isStartOnBoot() != startOnBoot) { - if(StartupFlags.RUNNER_FILE_NAME == null) + StartAtBoot startAtBoot = new StartAtBoot(PlatformType.CLIENT, ClientInfo.getInstance().getPlatform()); + if(startOnBoot) { - new StreamPiAlert("Uh Oh", "No Runner File Name Specified as startup arguments. Cant set run at boot.", StreamPiAlertType.ERROR).show(); - startOnBoot = false; - } - else - { - StartAtBoot startAtBoot = new StartAtBoot(PlatformType.CLIENT, ClientInfo.getInstance().getPlatform()); - if(startOnBoot) + try { - startAtBoot.create(new File(StartupFlags.RUNNER_FILE_NAME), + startAtBoot.create(StartupFlags.RUNNER_FILE_NAME, StartupFlags.IS_X_MODE); config.setStartupIsXMode(StartupFlags.IS_X_MODE); } - else + catch (MinorException e) { - boolean result = startAtBoot.delete(); - if(!result) - new StreamPiAlert("Uh Oh!", "Unable to delete starter file", StreamPiAlertType.ERROR).show(); + exceptionAndAlertHandler.handleMinorException(e); + startOnBoot = false; } } + else + { + boolean result = startAtBoot.delete(); + if(!result) + new StreamPiAlert("Uh Oh!", "Unable to delete starter file", StreamPiAlertType.ERROR).show(); + } } config.setStartOnBoot(startOnBoot); @@ -651,10 +651,14 @@ public class GeneralTab extends VBox config.setScreenSaverEnabled(screenSaverToggleSwitch.isSelected()); - if(!(screenSaverTimeout+"").equals(screenTimeoutTextField.getText())) - toBeReloaded = true; + if(!(screenSaverTimeout+"").equals(screenTimeoutTextField.getText()) && config.isScreenSaverEnabled()) + { + config.setScreenSaverTimeout(screenTimeoutTextField.getText()); + + clientListener.getScreenSaver().setTimeout(config.getScreenSaverTimeout()); + clientListener.getScreenSaver().restartTimer(); + } - config.setScreenSaverTimeout(screenTimeoutTextField.getText()); config.setConnectOnStartup(connectOnStartupToggleSwitch.isSelected()); @@ -687,6 +691,12 @@ public class GeneralTab extends VBox if(toBeReloaded) { + if(!ClientInfo.getInstance().isPhone() && !config.getIsFullScreenMode()) + { + config.setStartupWindowSize(clientListener.getStageWidth(), clientListener.getStageHeight()); + config.save(); + } + clientListener.init(); clientListener.renderRootDefaultProfile(); }