[Convergence] fix for invalidState error in startDiscovery 67/99667/1
authorLukasz Bardeli <l.bardeli@samsung.com>
Wed, 23 Nov 2016 13:58:56 +0000 (14:58 +0100)
committerLukasz Bardeli <l.bardeli@samsung.com>
Wed, 23 Nov 2016 13:58:56 +0000 (14:58 +0100)
Change-Id: I5699c43df931542735141ab7cf14e33b1cf53c46
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
src/convergence/convergence_api.js

index 215c0429f50e7e4a3a25e483f9414a4d539ee782..753a98e285d4e1141256d7422baeb7ab86c633e1 100644 (file)
@@ -98,6 +98,10 @@ function ConvergenceManager() {
 ConvergenceManager.prototype.startDiscovery = function(successCallback,
   errorCallback, timeout) {
   console.log('Entered ConvergenceManager.startDiscovery()');
+
+  if (discoveryStarted)
+    throw new WebAPIException('InvalidStateError', 'Discovery has been started.');
+
   var args = validator_.validateArgs(arguments, [
     {name: 'successCallback', type: types_.LISTENER, values: ['onfound', 'onfinished' ]},
     {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -161,6 +165,7 @@ ConvergenceManager.prototype.startDiscovery = function(successCallback,
 
         // Notify the customer about discovery results
         native_.callIfPossible(successCallback.onfinished, convergenceDevices.slice());
+        discoveryStarted = false;
         convergenceDevices = [];
 
       } else {