From 264b4d4260e496a90e05b1ebd96045ead0d7ca8a Mon Sep 17 00:00:00 2001 From: Szymon Jastrzebski Date: Fri, 25 Nov 2016 12:45:35 +0100 Subject: [PATCH] [Cordova] Added calling error callbacks in case cordova-api is missing [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 --- .../tizen/Globalization.js | 63 ++++++++++++++++--- 1 file changed, 54 insertions(+), 9 deletions(-) diff --git a/src/lib/plugins/cordova-plugin-globalization/tizen/Globalization.js b/src/lib/plugins/cordova-plugin-globalization/tizen/Globalization.js index 4c5131e..eb2388f 100755 --- a/src/lib/plugins/cordova-plugin-globalization/tizen/Globalization.js +++ b/src/lib/plugins/cordova-plugin-globalization/tizen/Globalization.js @@ -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 = { -- 2.34.1