From: Debayan Sutradhar Date: Tue, 15 Jun 2021 23:02:48 +0530 Subject: fix NPE on non orientation devices --- fix NPE on non orientation devices --- --- 'a/src/main/java/com/stream_pi/client/connection/Client.java' +++ b/src/main/java/com/stream_pi/client/connection/Client.java @@ -450,6 +450,15 @@ public class Client extends Thread Message toBeSent = new Message(header); + + String tbs = null; + + Orientation orientation = clientListener.getCurrentOrientation(); + if(orientation!=null) + { + tbs = orientation.toString(); + } + toBeSent.setStringArrValue( clientVersion, releaseStatus, @@ -461,7 +470,7 @@ public class Client extends Thread OS, defaultProfileID, clientListener.getDefaultThemeFullName(), - clientListener.getCurrentOrientation().toString() + tbs ); sendMessage(toBeSent); --- 'a/src/main/java/com/stream_pi/client/controller/Controller.java' +++ b/src/main/java/com/stream_pi/client/controller/Controller.java @@ -161,23 +161,6 @@ public class Controller extends Base throw new MinorException("Profiles", errors.toString()); } - renderRootDefaultProfile(); - loadSettings(); - - if(firstRun) - { - if(getConfig().isConnectOnStartup()) - { - setupClientConnection(); - } - firstRun = false; - } - - if(!getClientInfo().isPhone()) - { - getStage().widthProperty().addListener((observableValue, orientation, t1) -> syncClientSizeDetailsWithServer()); - getStage().heightProperty().addListener((observableValue, orientation, t1) -> syncClientSizeDetailsWithServer()); - } if(getClientInfo().isPhone() && getConfig().isInvertRowsColsOnDeviceRotate()) { @@ -197,7 +180,10 @@ public class Controller extends Base getExecutor().submit(()->{ try { - getClient().updateOrientationOnClient(getCurrentOrientation()); + if(isConnected()) + { + getClient().updateOrientationOnClient(getCurrentOrientation()); + } } catch (SevereException e) { @@ -208,6 +194,24 @@ public class Controller extends Base } }); } + + renderRootDefaultProfile(); + loadSettings(); + + if(firstRun) + { + if(getConfig().isConnectOnStartup()) + { + setupClientConnection(); + } + firstRun = false; + } + + if(!getClientInfo().isPhone()) + { + getStage().widthProperty().addListener((observableValue, orientation, t1) -> syncClientSizeDetailsWithServer()); + getStage().heightProperty().addListener((observableValue, orientation, t1) -> syncClientSizeDetailsWithServer()); + } } catch (SevereException e) { @@ -219,7 +223,7 @@ public class Controller extends Base } } - private Orientation currentOrientation; + private Orientation currentOrientation = null; @Override public Orientation getCurrentOrientation()