From b2a692432ddb6a965cb40ac4a6da1e9bf52c6c17 Mon Sep 17 00:00:00 2001
From: Neto Guimaraes <joao.neto.guimaraes@gmail.com>
Date: Tue, 16 May 2017 11:26:59 -0300
Subject: [PATCH] FS-10309: [verto_communicator] Add a loader that shows up
 when check network is called and vanishes when the request is completed. The
 button to check network now is disabled when a request is processing.

---
 .../verto_communicator/src/css/verto.css      |  5 ++++
 .../src/locales/locale-en.json                |  1 +
 .../src/locales/locale-pt.json                |  1 +
 .../src/partials/settings.html                | 23 +++++++++++++++----
 .../controllers/SettingsController.js         |  2 ++
 5 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/html5/verto/verto_communicator/src/css/verto.css b/html5/verto/verto_communicator/src/css/verto.css
index 0d674b42f8..5111880806 100644
--- a/html5/verto/verto_communicator/src/css/verto.css
+++ b/html5/verto/verto_communicator/src/css/verto.css
@@ -1735,3 +1735,8 @@ body:-webkit-full-screen #incall .video-footer {
   color: rgba(0, 10, 66, 0.84);
   background-color: #E8E8E8;
 }
+
+#settings .loader {
+  width: 20px;
+  height: 20px;
+}
diff --git a/html5/verto/verto_communicator/src/locales/locale-en.json b/html5/verto/verto_communicator/src/locales/locale-en.json
index 437e565997..56f4899f67 100644
--- a/html5/verto/verto_communicator/src/locales/locale-en.json
+++ b/html5/verto/verto_communicator/src/locales/locale-en.json
@@ -124,6 +124,7 @@
   "AUTO_SPEED_RES": "Automatically determine speed and resolution settings",
   "RECHECK_BANDWIDTH": "Recheck bandwidth before each outgoing call",
   "CHECK_NETWORK_SPEED": "Check Network Speed",
+  "CHECKING_NETWORK_SPEED": "Checking Network Speed",
   "VIDEO_QUALITY": "Video quality:",
   "MAX_INCOMING_BANDWIDTH": "Max incoming bandwidth:",
   "MAX_OUTGOING_BANDWIDTH": "Max outgoing bandwidth:",
diff --git a/html5/verto/verto_communicator/src/locales/locale-pt.json b/html5/verto/verto_communicator/src/locales/locale-pt.json
index 23f0c8a0b3..8301557bed 100644
--- a/html5/verto/verto_communicator/src/locales/locale-pt.json
+++ b/html5/verto/verto_communicator/src/locales/locale-pt.json
@@ -124,6 +124,7 @@
   "AUTO_SPEED_RES": "Determinar automaticamente velocidade e configurações de resolução",
   "RECHECK_BANDWIDTH": "Verificar novamente largura de banda antes de realizar cada chamada",
   "CHECK_NETWORK_SPEED": "Verificar velocidade da rede",
+  "CHECKING_NETWORK_SPEED": "Verificando velocidade da rede",
   "VIDEO_QUALITY": "Qualidade do vídeo:",
   "MAX_INCOMING_BANDWIDTH": "Largura de banda de entrada máxima:",
   "MAX_OUTGOING_BANDWIDTH": "Largura de banda de saída máxima:",
diff --git a/html5/verto/verto_communicator/src/partials/settings.html b/html5/verto/verto_communicator/src/partials/settings.html
index 8a00e40be2..550a9e84b4 100644
--- a/html5/verto/verto_communicator/src/partials/settings.html
+++ b/html5/verto/verto_communicator/src/partials/settings.html
@@ -135,11 +135,24 @@
           </label>
         </div>
 
-        <div class="checkbox" ng-show="mydata.autoBand">
-          <label>
-            <input type="checkbox" ng-model="mydata.testSpeedJoin">
-            <span ng-bind="'RECHECK_BANDWIDTH' | translate"></span>
-          </label>
+        <div ng-show="mydata.autoBand">
+          <div class="checkbox">
+            <label>
+              <input type="checkbox" ng-model="mydata.testSpeedJoin">
+              <span ng-bind="'RECHECK_BANDWIDTH' | translate"></span>
+            </label>
+          </div>
+
+          <a class="btn btn-primary" href="" ng-disabled="isTestingSpeed" ng-click="testSpeed()">
+            {{ isTestingSpeed ? 'CHECKING_NETWORK_SPEED' : 'CHECK_NETWORK_SPEED' | translate }}
+          </a>
+
+          <div>
+            <span ng-bind="speedMsg"></span>
+            <span ng-show="isTestingSpeed">
+              <img class="loader" src="src/images/ajax-loader.gif"/>
+            </span>
+          </div>
         </div>
 
         <a ng-show="mydata.autoBand" class="btn btn-primary" href="" ng-click="testSpeed()">{{ 'CHECK_NETWORK_SPEED' | translate }}</a> <span ng-bind="speedMsg"></span>
diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js
index a7da6f4beb..1aee566dcb 100644
--- a/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js
+++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js
@@ -84,11 +84,13 @@
         };
 
         $scope.testSpeed = function() {
+          $scope.isTestingSpeed = true;
           return verto.testSpeed(cb);
 
           function cb(data) {
             $scope.mydata.vidQual = storage.data.vidQual;
             $scope.speedMsg = 'Up: ' + data.upKPS + ' Down: ' + data.downKPS;
+            $scope.isTestingSpeed = false;
             $scope.$apply();
           }
         };