From 1980bc260115dce6b4e0e9d12ccbcf44ab54bf41 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Fri, 20 Jul 2018 15:25:14 +0200
Subject: [PATCH] Disable auto-reconnect to mqtt-broker if first attempt
 failed.

- updated to latest tools version
---
 build.gradle                                        |  2 +-
 .../inf/st/sensorsharing/MainActivity.java          | 13 ++++++++-----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/build.gradle b/build.gradle
index 23dfc1e..08b39ff 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ buildscript {
         }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.1.2'
+        classpath 'com.android.tools.build:gradle:3.1.3'
         
 
         // NOTE: Do not place your application dependencies here; they belong
diff --git a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
index e86a3a3..00a36e8 100644
--- a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
+++ b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
@@ -175,7 +175,7 @@ public class MainActivity extends AppCompatActivity implements
             } catch (MqttException e) {
                 Toast.makeText(MainActivity.this,
                         "Could not disconnect from running broker. Continue.",
-                        Toast.LENGTH_LONG).show();
+                        Toast.LENGTH_SHORT).show();
             }
         }
 
@@ -183,14 +183,14 @@ public class MainActivity extends AppCompatActivity implements
         EditText valueServerURI = findViewById(R.id.value_server_uri);
         final String serverURI = valueServerURI.getText().toString();
         Toast.makeText(MainActivity.this, "Connecting to " + serverURI,
-                Toast.LENGTH_LONG).show();
+                Toast.LENGTH_SHORT).show();
         mqttAndroidClient = new MqttAndroidClient(this, serverURI,
                 "SensorSharing-mobile");
         mqttAndroidClient.setCallback(new MqttCallback() {
             @Override
             public void connectionLost(Throwable cause) {
                 Toast.makeText(MainActivity.this, "Connection to MQTT broker lost",
-                        Toast.LENGTH_LONG).show();
+                        Toast.LENGTH_SHORT).show();
             }
 
             @Override
@@ -203,7 +203,7 @@ public class MainActivity extends AppCompatActivity implements
 
             }
         });
-        MqttConnectOptions options = new MqttConnectOptions();
+        final MqttConnectOptions options = new MqttConnectOptions();
         options.setCleanSession(false);
         options.setAutomaticReconnect(true);
         options.setConnectionTimeout(5);
@@ -218,12 +218,15 @@ public class MainActivity extends AppCompatActivity implements
                 @Override
                 public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
                     Log.e(TAG, "Connection to " + serverURI + " failed", exception);
+                    Toast.makeText(MainActivity.this, "Connection to " + serverURI + " failed",
+                            Toast.LENGTH_SHORT).show();
+                    options.setAutomaticReconnect(false);
                 }
             });
 
         } catch (MqttException e) {
             Toast.makeText(this, "Connection to " + serverURI + " failed",
-                    Toast.LENGTH_LONG).show();
+                    Toast.LENGTH_SHORT).show();
         }
     }
 
-- 
GitLab