[Cordova] Added calling error callbacks in case cordova-api is missing 67/100267/1
authorSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Fri, 25 Nov 2016 11:45:35 +0000 (12:45 +0100)
committerSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Fri, 25 Nov 2016 11:45:35 +0000 (12:45 +0100)
[Feature] If cordova-api rpm is not installed, calling methods
          from globalization module will fail. Due to this we need
          to call errorCallbacks.

Change-Id: I2670cce06351dcf93a9a2a2c17d0fc9d6680958e
Signed-off-by: Szymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
src/lib/plugins/cordova-plugin-globalization/tizen/Globalization.js

index 4c5131e..eb2388f 100755 (executable)
@@ -59,28 +59,48 @@ function Globalization_dateToString(timestamp, successCb, errorCb, options) {
   var formatLength = (options && options.formatLength) || FORMAT_SHORT_STR;
   var selector = (options && options.selector) || SELECTOR_DATE_AND_TIME_STR;
 
-  tizen.cordova.globalization.dateToString(timestamp, formatLength, selector, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.dateToString(timestamp, formatLength, selector, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_stringToDate(dateString, successCb, errorCb, options) {
   var formatLength = (options && options.formatLength) || FORMAT_SHORT_STR;
   var selector = (options && options.selector) || SELECTOR_DATE_AND_TIME_STR;
 
-  tizen.cordova.globalization.stringToDate(dateString, formatLength, selector, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.stringToDate(dateString, formatLength, selector, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_getDatePattern(successCb, errorCb, options) {
   var formatLength = (options && options.formatLength) || FORMAT_SHORT_STR;
   var selector = (options && options.selector) || SELECTOR_DATE_AND_TIME_STR;
 
-  tizen.cordova.globalization.getDatePattern(formatLength, selector, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.getDatePattern(formatLength, selector, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_getDateNames(successCb, errorCb, options) {
   var type = (options && options.type) || TYPE_WIDE;
   var item = (options && options.item) || ITEM_MONTHS;
 
-  tizen.cordova.globalization.getDateNames(type, item, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.getDateNames(type, item, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_isDayLightSavingsTime(timestamp, successCb, errorCb) {
@@ -98,29 +118,54 @@ function Globalization_isDayLightSavingsTime(timestamp, successCb, errorCb) {
 }
 
 function Globalization_getFirstDayOfWeek(successCb, errorCb) {
-  tizen.cordova.globalization.getFirstDayOfWeek(successCb, errorCb);
+  try {
+    tizen.cordova.globalization.getFirstDayOfWeek(successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_numberToString(number, successCb, errorCb, options) {
   var type = (options && options.type) || NUMBER_TYPE_DECIMAL;
 
-  tizen.cordova.globalization.numberToString(number, type, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.numberToString(number, type, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_stringToNumber(numberStr, successCb, errorCb, options) {
   var type = (options && options.type) || NUMBER_TYPE_DECIMAL;
 
-  tizen.cordova.globalization.stringToNumber(numberStr, type, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.stringToNumber(numberStr, type, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_getNumberPattern(successCb, errorCb, options) {
   var type = (options && options.type) || NUMBER_TYPE_DECIMAL;
 
-  tizen.cordova.globalization.getNumberPattern(type, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.getNumberPattern(type, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 function Globalization_getCurrencyPattern(currencyCode, successCb, errorCb) {
-  tizen.cordova.globalization.getCurrencyPattern(currencyCode, successCb, errorCb);
+  try {
+    tizen.cordova.globalization.getCurrencyPattern(currencyCode, successCb, errorCb);
+  } catch (e) {
+    errorCb(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR,
+    'globalization not initialized'));
+  }
 }
 
 exports = {