From: Szymon Jastrzebski Date: Tue, 18 Jul 2017 09:20:35 +0000 (+0200) Subject: [Systeminfo] Fixed condition, which caused to call successCallback when not needed X-Git-Tag: submit/tizen_3.0/20170719.073651~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0c75237768f62a473b054feeb7c31c56c156f67f;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Systeminfo] Fixed condition, which caused to call successCallback when not needed According to documentation, the successCallback is called in 4 different possible situations. The condition, which fills the requirements is optimized. [Verification] SystemInfo TCT passed 100%. Change-Id: Ie6b24853ed233ecb8ac9d5ee28677e84d2b22f2f Signed-off-by: Szymon Jastrzebski --- diff --git a/src/systeminfo/systeminfo_api.js b/src/systeminfo/systeminfo_api.js index bb656c04..63b3e5ea 100644 --- a/src/systeminfo/systeminfo_api.js +++ b/src/systeminfo/systeminfo_api.js @@ -901,10 +901,20 @@ function _systeminfoBatteryListenerCallback(eventObj) { 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)); + /* + * According to documentation, the condition should look like this: + * + * (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) || + * (!T_.isUndefined(listener.lowThreshold) && !T_.isUndefined(listener.highThreshold) && (propObj.level <= listener.lowThreshold || propObj.level >= listener.highThreshold)) || + * (!T_.isUndefined(listener.lowThreshold) && (propObj.level <= listener.lowThreshold)) || + * (!T_.isUndefined(listener.highThreshold) && (propObj.level >= listener.highThreshold)) + * + * but it can be optimized like this: + */ + var executeCall = (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) || + (!T_.isUndefined(listener.lowThreshold) && propObj.level <= listener.lowThreshold) || + (!T_.isUndefined(listener.highThreshold) && propObj.level >= listener.highThreshold); + if (executeCall) { listener.callback(propObj); } @@ -922,10 +932,12 @@ function _systeminfoCpuListenerCallback(eventObj) { var propObj = !listener.isArrayType ? _createProperty(property, eventObj.result.array[0]) : _createPropertyArray(property, eventObj.result); - var executeCall = (T_.isUndefined(listener.lowThreshold) || - (propObj.load <= listener.lowThreshold)) || - (T_.isUndefined(listener.highThreshold) || - (propObj.load >= listener.highThreshold)); + /* + * Optimized condition: + * */ + var executeCall = (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) || + (!T_.isUndefined(listener.lowThreshold) && propObj.load <= listener.lowThreshold) || + (!T_.isUndefined(listener.highThreshold) && propObj.load >= listener.highThreshold); if (executeCall) { listener.callback(propObj); } @@ -958,10 +970,12 @@ function _systeminfoDisplayListenerCallback(eventObj) { var propObj = !listener.isArrayType ? _createProperty(property, eventObj.result.array[0]) : _createPropertyArray(property, eventObj.result); - var executeCall = (T_.isUndefined(listener.lowThreshold) || - (propObj.brightness <= listener.lowThreshold)) || - (T_.isUndefined(listener.highThreshold) || - (propObj.brightness >= listener.highThreshold)); + /* + * Optimized condition: + * */ + var executeCall = (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) || + (!T_.isUndefined(listener.lowThreshold) && propObj.brightness <= listener.lowThreshold) || + (!T_.isUndefined(listener.highThreshold) && propObj.brightness >= listener.highThreshold); if (executeCall) { listener.callback(propObj); }