Ver Fonte

Merge branch 'master' of https://git.tk.informatik.tu-darmstadt.de/scm-ssi-hostage-v3

Alexander Brakowski há 9 anos atrás
pai
commit
9841144554

+ 3 - 0
src/de/tudarmstadt/informatik/hostage/Listener.java

@@ -136,6 +136,9 @@ public class Listener implements Runnable {
 	 * and notifies the background service.
 	 */
 	public boolean start() {
+		if (protocol.toString().equals("SMB")) {
+			return false; // disable smb for the moment to prevent crashes
+		}
 		try {
 			server = new MyServerSocketFactory().createServerSocket(port);
 			if (server == null)

+ 13 - 9
src/de/tudarmstadt/informatik/hostage/ui/adapter/ServicesListAdapter.java

@@ -155,15 +155,19 @@ public class ServicesListAdapter extends ArrayAdapter<ServicesListItem> {
                                     }
                                 }
                                 else if (!MainActivity.getInstance().getHostageService().isRunning(item.protocol)) {
-                                    MainActivity.getInstance().getHostageService().startListener(item.protocol);
-
-                                    //set the main switch to null, so that he won't react and starts all protocols
-                                    mServicesSwitch.setOnCheckedChangeListener(null);
-                                    mServicesSwitch.setChecked(true);
-                                    mServicesSwitch.setOnCheckedChangeListener(mListener);
-                                    if(!buttonView.isChecked()) {
-                                        buttonView.setChecked(true);
-                                    }
+                                    boolean success = MainActivity.getInstance().getHostageService().startListener(item.protocol);
+
+									if (success) {
+										//set the main switch to null, so that he won't react and starts all protocols
+										mServicesSwitch.setOnCheckedChangeListener(null);
+										mServicesSwitch.setChecked(true);
+										mServicesSwitch.setOnCheckedChangeListener(mListener);
+										if (!buttonView.isChecked()) {
+											buttonView.setChecked(true);
+										}
+									} else {
+										buttonView.setChecked(false);
+									}
                                 } else {
                                     if(!buttonView.isChecked()) {
                                         buttonView.setChecked(true);