[SystemInfo] Fix for "BATTERY" property value change listener callbacks 60/135460/1
authorPawel Wasowski <p.wasowski2@partner.samsung.com>
Thu, 22 Jun 2017 10:29:13 +0000 (12:29 +0200)
committerPawel Wasowski <p.wasowski2@partner.samsung.com>
Thu, 22 Jun 2017 10:35:15 +0000 (12:35 +0200)
Callbacks called on "BATTERY" property value change threw an exception,
if "lowThreshold" or "highThreshold" SystemInfoOptions were specified.

[Verification] Tested in Chrome DevTools, registered callbacks work
fine.

Change-Id: Ie50dfb0710e9b203e072ff5336b77ff27c464031
Signed-off-by: Pawel Wasowski <p.wasowski2@partner.samsung.com>
src/systeminfo/systeminfo_api.js

index 2e5dc4fe7e3390f2d449d4b1439b34f620de3be7..bb656c04d699aa15d2ea63c064ac39badff8afc3 100644 (file)
@@ -898,13 +898,13 @@ function _systeminfoBatteryListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
+            var propObj = !listener.isArrayType ?
+                    _createProperty(property, eventObj.result.array[0]) :
+                        _createPropertyArray(property, eventObj.result);
             var executeCall = (T_.isUndefined(listener.lowThreshold) ||
                     (propObj.level <= listener.lowThreshold)) ||
                     (T_.isUndefined(listener.highThreshold) ||
                             (propObj.level >= listener.highThreshold));
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
             if (executeCall) {
                 listener.callback(propObj);
             }