From: Debayan Sutradhar Date: Fri, 09 Apr 2021 22:36:08 +0530 Subject: [OBS] - Added connect/disconnect options from MotherConnection --- [OBS] - Added connect/disconnect options from MotherConnection --- --- 'a/obssuite/mother/src/main/java/mother/Mother.java' +++ b/obssuite/mother/src/main/java/mother/Mother.java @@ -110,9 +110,9 @@ public class Mother extends NormalAction private void connect(String url, String pass) { - new Thread( - new OBSActionConnectionTask(url, pass, connectDisconnectButton) - ).start(); + MotherConnection.setPass(pass); + MotherConnection.setUrl(url); + new OBSActionConnectionTask(connectDisconnectButton, true); } @Override --- 'a/obssuite/mother/src/main/java/mother/OBSActionConnectionTask.java' +++ b/obssuite/mother/src/main/java/mother/OBSActionConnectionTask.java @@ -15,15 +15,25 @@ public class OBSActionConnectionTask ext String url, pass; Button connectDisconnectButton; - public OBSActionConnectionTask(String url, String pass, Button connectDisconnectButton) + public OBSActionConnectionTask(Button connectDisconnectButton, + boolean runAsync) { - this.url = url; - this.pass = pass; - this.connectDisconnectButton = connectDisconnectButton; + this.url = MotherConnection.getUrl(); + this.pass = MotherConnection.getPass(); + this.connectDisconnectButton = connectDisconnectButton; + + if(runAsync) + { + new Thread(this).start(); + } + else + { + call(); + } } @Override - protected Void call() throws Exception + protected Void call() { try { @@ -86,11 +96,17 @@ public class OBSActionConnectionTask ext private void setConnectDisconnectButtonText(String text) { + if(connectDisconnectButton == null) + return; + Platform.runLater(()-> connectDisconnectButton.setText(text)); } private void setConnectDisconnectButtonDisable(boolean disable) { + if(connectDisconnectButton == null) + return; + Platform.runLater(()-> connectDisconnectButton.setDisable(disable)); } --- 'a/obssuite/mother/src/main/java/mother/motherconnection/MotherConnection.java' +++ b/obssuite/mother/src/main/java/mother/motherconnection/MotherConnection.java @@ -3,14 +3,44 @@ package mother.motherconnection; import com.stream_pi.util.alert.StreamPiAlert; import com.stream_pi.util.alert.StreamPiAlertType; +import mother.OBSActionConnectionTask; import net.twasi.obsremotejava.OBSRemoteController; import net.twasi.obsremotejava.callbacks.Callback; -import net.twasi.obsremotejava.requests.ResponseBase; public class MotherConnection { private static OBSRemoteController obsRemoteController = null; + private static String url = null; + private static String pass = null; + + public static void setUrl(String url) { + MotherConnection.url = url; + } + + public static void setPass(String pass) { + MotherConnection.pass = pass; + } + + public static String getUrl() { + return url; + } + + public static String getPass() { + return pass; + } + + public void connect() + { + connect(true); + } + + public void connect(boolean runAsync) + { + new OBSActionConnectionTask( null, runAsync); + } + + public static OBSRemoteController getRemoteController() { return obsRemoteController;