Updated cordova.android.js for CB-1950 - InAppBrowser events

This commit is contained in:
Shazron Abdullah 2012-11-30 05:47:37 -08:00
parent 432aec62a9
commit 00e5ff1964
2 changed files with 346 additions and 366 deletions

View File

@ -1,6 +1,6 @@
// commit 54335c8f70223b053f4c039185d13cb95801d043
// commit 832eb92dbc908e9544bed202878906fba49667c7
// File generated at :: Mon Nov 26 2012 16:05:15 GMT-0500 (EST)
// File generated at :: Fri Nov 30 2012 05:23:45 GMT-0800 (PST)
/*
Licensed to the Apache Software Foundation (ASF) under one
@ -3323,18 +3323,55 @@ define("cordova/plugin/InAppBrowser", function(require, exports, module) {
var exec = require('cordova/exec');
var InAppBrowser = {
open : function(strUrl, strWindowName, strWindowFeatures) {
exec(null, null, "InAppBrowser", "open", [strUrl, strWindowName, strWindowFeatures]);
return InAppBrowser;
},
close : function() {
function InAppBrowser()
{
var _channel = require('cordova/channel');
this.channels = {
'loadstart': _channel.create('loadstart'),
'loadstop' : _channel.create('loadstop'),
'exit' : _channel.create('exit')
};
}
InAppBrowser.prototype._eventHandler = function(event)
{
if (event.type in this.channels) {
this.channels[event.type].fire(event);
}
}
InAppBrowser.open = function(strUrl, strWindowName, strWindowFeatures)
{
var iab = new InAppBrowser();
var cb = function(eventname) {
iab._eventHandler(eventname);
}
exec(cb, null, "InAppBrowser", "open", [strUrl, strWindowName, strWindowFeatures]);
return iab;
}
InAppBrowser.prototype.close = function(eventname, f)
{
exec(null, null, "InAppBrowser", "close", []);
}
};
InAppBrowser.prototype.addEventListener = function(eventname, f)
{
if (eventname in this.channels) {
this.channels[eventname].subscribe(f);
}
}
InAppBrowser.prototype.removeEventListener = function(eventname, f)
{
if (eventname in this.channels) {
this.channels[eventname].unsubscribe(f);
}
}
module.exports = InAppBrowser.open;
});
// file: lib/common/plugin/LocalFileSystem.js

View File

@ -1,6 +1,6 @@
// commit 02b91c5313ff37d74a58f71775170afd360f4a1f
// commit 832eb92dbc908e9544bed202878906fba49667c7
// File generated at :: Wed Oct 31 2012 10:40:25 GMT-0700 (PDT)
// File generated at :: Fri Nov 30 2012 05:23:45 GMT-0800 (PST)
/*
Licensed to the Apache Software Foundation (ASF) under one
@ -314,6 +314,65 @@ channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready');
module.exports = cordova;
});
// file: lib/common/argscheck.js
define("cordova/argscheck", function(require, exports, module) {
var exec = require('cordova/exec');
var moduleExports = module.exports;
var typeMap = {
'A': 'Array',
'D': 'Date',
'N': 'Number',
'S': 'String',
'F': 'Function',
'O': 'Object'
};
function extractParamName(callee, argIndex) {
return (/.*?\((.*?)\)/).exec(callee)[1].split(', ')[argIndex];
}
function checkArgs(spec, functionName, args, opt_callee) {
if (!moduleExports.enableChecks) {
return;
}
var errMsg = null;
var type;
for (var i = 0; i < spec.length; ++i) {
var c = spec.charAt(i),
cUpper = c.toUpperCase(),
arg = args[i];
// Asterix means allow anything.
if (c == '*') {
continue;
}
type = Object.prototype.toString.call(arg).slice(8, -1);
if ((arg === null || arg === undefined) && c == cUpper) {
continue;
}
if (type != typeMap[cUpper]) {
errMsg = 'Expected ' + typeMap[cUpper];
break;
}
}
if (errMsg) {
errMsg += ', but got ' + type + '.';
errMsg = 'Wrong type for parameter "' + extractParamName(opt_callee || args.callee, i) + '" of ' + functionName + ': ' + errMsg;
// Don't log when running jake test.
if (typeof jasmine == 'undefined') {
console.error(errMsg);
}
throw TypeError(errMsg);
}
}
moduleExports.checkArgs = checkArgs;
moduleExports.enableChecks = true;
});
// file: lib/common/builder.js
@ -329,14 +388,24 @@ function each(objects, func, context) {
}
}
function clobber(obj, key, value) {
obj[key] = value;
// Getters can only be overridden by getters.
if (obj[key] !== value) {
utils.defineGetter(obj, key, function() {
return value;
});
}
}
function assignOrWrapInDeprecateGetter(obj, key, value, message) {
if (message) {
utils.defineGetter(obj, key, function() {
window.console && console.log(message);
console.log(message);
return value;
});
} else {
obj[key] = value;
clobber(obj, key, value);
}
}
@ -395,8 +464,11 @@ function recursiveMerge(target, src) {
// If the target object is a constructor override off prototype.
target.prototype[prop] = src[prop];
} else {
target[prop] = typeof src[prop] === 'object' ? recursiveMerge(
target[prop], src[prop]) : src[prop];
if (typeof src[prop] === 'object') {
target[prop] = recursiveMerge(target[prop], src[prop]);
} else {
clobber(target, prop, src[prop]);
}
}
}
}
@ -404,20 +476,16 @@ function recursiveMerge(target, src) {
}
module.exports = {
build: function (objects) {
return {
intoButDoNotClobber: function (target) {
buildIntoButDoNotClobber: function(objects, target) {
include(target, objects, false, false);
},
intoAndClobber: function(target) {
buildIntoAndClobber: function(objects, target) {
include(target, objects, true, false);
},
intoAndMerge: function(target) {
buildIntoAndMerge: function(objects, target) {
include(target, objects, true, true);
}
};
}
};
});
@ -701,7 +769,7 @@ module.exports = {
define("cordova/common", function(require, exports, module) {
module.exports = {
objects: {
defaults: {
cordova: {
path: 'cordova',
children: {
@ -720,6 +788,9 @@ module.exports = {
}
}
},
open : {
path: 'cordova/plugin/InAppBrowser'
},
navigator: {
children: {
notification: {
@ -737,9 +808,6 @@ module.exports = {
compass:{
path: 'cordova/plugin/compass'
},
connection: {
path: 'cordova/plugin/network'
},
contacts: {
path: 'cordova/plugin/contacts'
},
@ -907,6 +975,15 @@ module.exports = {
resolveLocalFileSystemURI:{
path: 'cordova/plugin/resolveLocalFileSystemURI'
}
},
clobbers: {
navigator: {
children: {
connection: {
path: 'cordova/plugin/network'
}
}
}
}
};
@ -961,6 +1038,7 @@ var cordova = require('cordova'),
function androidExec(success, fail, service, action, args) {
// Set default bridge modes if they have not already been set.
// By default, we use the failsafe, since addJavascriptInterface breaks too often
if (jsToNativeBridgeMode === undefined) {
androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT);
}
@ -1199,7 +1277,7 @@ module.exports = {
exec(null, null, "App", "show", []);
}, [channel.onCordovaReady]);
},
objects: {
clobbers: {
navigator: {
children: {
app:{
@ -1218,6 +1296,9 @@ module.exports = {
},
MediaError: { // exists natively on Android WebView on Android 4.x
path: "cordova/plugin/MediaError"
},
open: {
path: "cordova/plugin/InAppBrowser"
}
},
merges: {
@ -3235,6 +3316,62 @@ GlobalizationError.PATTERN_ERROR = 3;
module.exports = GlobalizationError;
});
// file: lib/common/plugin/InAppBrowser.js
define("cordova/plugin/InAppBrowser", function(require, exports, module) {
var exec = require('cordova/exec');
function InAppBrowser()
{
var _channel = require('cordova/channel');
this.channels = {
'loadstart': _channel.create('loadstart'),
'loadstop' : _channel.create('loadstop'),
'exit' : _channel.create('exit')
};
}
InAppBrowser.prototype._eventHandler = function(event)
{
if (event.type in this.channels) {
this.channels[event.type].fire(event);
}
}
InAppBrowser.open = function(strUrl, strWindowName, strWindowFeatures)
{
var iab = new InAppBrowser();
var cb = function(eventname) {
iab._eventHandler(eventname);
}
exec(cb, null, "InAppBrowser", "open", [strUrl, strWindowName, strWindowFeatures]);
return iab;
}
InAppBrowser.prototype.close = function(eventname, f)
{
exec(null, null, "InAppBrowser", "close", []);
}
InAppBrowser.prototype.addEventListener = function(eventname, f)
{
if (eventname in this.channels) {
this.channels[eventname].subscribe(f);
}
}
InAppBrowser.prototype.removeEventListener = function(eventname, f)
{
if (eventname in this.channels) {
this.channels[eventname].unsubscribe(f);
}
}
module.exports = InAppBrowser.open;
});
// file: lib/common/plugin/LocalFileSystem.js
@ -3673,7 +3810,8 @@ define("cordova/plugin/accelerometer", function(require, exports, module) {
* This class provides access to device accelerometer data.
* @constructor
*/
var utils = require("cordova/utils"),
var argscheck = require('cordova/argscheck'),
utils = require("cordova/utils"),
exec = require("cordova/exec"),
Acceleration = require('cordova/plugin/Acceleration');
@ -3737,10 +3875,7 @@ var accelerometer = {
* @param {AccelerationOptions} options The options for getting the accelerometer data such as timeout. (OPTIONAL)
*/
getCurrentAcceleration: function(successCallback, errorCallback, options) {
// successCallback required
if (typeof successCallback !== "function") {
throw "getCurrentAcceleration must be called with at least a success callback function as first parameter.";
}
argscheck.checkArgs('fFO', 'accelerometer.getCurrentAcceleration', arguments);
var p;
var win = function(a) {
@ -3749,7 +3884,7 @@ var accelerometer = {
};
var fail = function(e) {
removeListeners(p);
errorCallback(e);
errorCallback && errorCallback(e);
};
p = createCallbackPair(win, fail);
@ -3769,20 +3904,16 @@ var accelerometer = {
* @return String The watch id that must be passed to #clearWatch to stop watching.
*/
watchAcceleration: function(successCallback, errorCallback, options) {
argscheck.checkArgs('fFO', 'accelerometer.watchAcceleration', arguments);
// Default interval (10 sec)
var frequency = (options && options.frequency && typeof options.frequency == 'number') ? options.frequency : 10000;
// successCallback required
if (typeof successCallback !== "function") {
throw "watchAcceleration must be called with at least a success callback function as first parameter.";
}
// Keep reference to watch id, and report accel readings as often as defined in frequency
var id = utils.createUUID();
var p = createCallbackPair(function(){}, function(e) {
removeListeners(p);
errorCallback(e);
errorCallback && errorCallback(e);
});
listeners.push(p);
@ -4592,7 +4723,8 @@ module.exports = new Capture();
// file: lib/common/plugin/compass.js
define("cordova/plugin/compass", function(require, exports, module) {
var exec = require('cordova/exec'),
var argscheck = require('cordova/argscheck'),
exec = require('cordova/exec'),
utils = require('cordova/utils'),
CompassHeading = require('cordova/plugin/CompassHeading'),
CompassError = require('cordova/plugin/CompassError'),
@ -4607,23 +4739,13 @@ var exec = require('cordova/exec'),
* @param {CompassOptions} options The options for getting the heading data (not used).
*/
getCurrentHeading:function(successCallback, errorCallback, options) {
// successCallback required
if (typeof successCallback !== "function") {
console.log("Compass Error: successCallback is not a function");
return;
}
// errorCallback optional
if (errorCallback && (typeof errorCallback !== "function")) {
console.log("Compass Error: errorCallback is not a function");
return;
}
argscheck.checkArgs('fFO', 'compass.getCurrentHeading', arguments);
var win = function(result) {
var ch = new CompassHeading(result.magneticHeading, result.trueHeading, result.headingAccuracy, result.timestamp);
successCallback(ch);
};
var fail = function(code) {
var fail = errorCallback && function(code) {
var ce = new CompassError(code);
errorCallback(ce);
};
@ -4643,22 +4765,11 @@ var exec = require('cordova/exec'),
* specifies to watch via a distance filter rather than time.
*/
watchHeading:function(successCallback, errorCallback, options) {
argscheck.checkArgs('fFO', 'compass.watchHeading', arguments);
// Default interval (100 msec)
var frequency = (options !== undefined && options.frequency !== undefined) ? options.frequency : 100;
var filter = (options !== undefined && options.filter !== undefined) ? options.filter : 0;
// successCallback required
if (typeof successCallback !== "function") {
console.log("Compass Error: successCallback is not a function");
return;
}
// errorCallback optional
if (errorCallback && (typeof errorCallback !== "function")) {
console.log("Compass Error: errorCallback is not a function");
return;
}
var id = utils.createUUID();
if (filter > 0) {
// is an iOS request for watch by filter, no timer needed
@ -4871,7 +4982,8 @@ for (var key in console) {
// file: lib/common/plugin/contacts.js
define("cordova/plugin/contacts", function(require, exports, module) {
var exec = require('cordova/exec'),
var argscheck = require('cordova/argscheck'),
exec = require('cordova/exec'),
ContactError = require('cordova/plugin/ContactError'),
utils = require('cordova/utils'),
Contact = require('cordova/plugin/Contact');
@ -4890,13 +5002,9 @@ var contacts = {
* @return array of Contacts matching search criteria
*/
find:function(fields, successCB, errorCB, options) {
if (!successCB) {
throw new TypeError("You must specify a success callback for the find command.");
}
if (!fields || (utils.isArray(fields) && fields.length === 0)) {
if (typeof errorCB === "function") {
errorCB(new ContactError(ContactError.INVALID_ARGUMENT_ERROR));
}
argscheck.checkArgs('afFO', 'contacts.find', arguments);
if (!fields.length) {
errorCB && errorCB(new ContactError(ContactError.INVALID_ARGUMENT_ERROR));
} else {
var win = function(result) {
var cs = [];
@ -4917,9 +5025,9 @@ var contacts = {
* @returns new Contact object
*/
create:function(properties) {
var i;
argscheck.checkArgs('O', 'contacts.create', arguments);
var contact = new Contact();
for (i in properties) {
for (var i in properties) {
if (typeof contact[i] !== 'undefined' && properties.hasOwnProperty(i)) {
contact[i] = properties[i];
}
@ -4935,7 +5043,8 @@ module.exports = contacts;
// file: lib/common/plugin/device.js
define("cordova/plugin/device", function(require, exports, module) {
var channel = require('cordova/channel'),
var argscheck = require('cordova/argscheck'),
channel = require('cordova/channel'),
utils = require('cordova/utils'),
exec = require('cordova/exec');
@ -4954,6 +5063,7 @@ function Device() {
this.name = null;
this.uuid = null;
this.cordova = null;
this.model = null;
var me = this;
@ -4965,6 +5075,7 @@ function Device() {
me.name = info.name;
me.uuid = info.uuid;
me.cordova = info.cordova;
me.model = info.model;
channel.onCordovaInfoReady.fire();
},function(e) {
me.available = false;
@ -4980,20 +5091,7 @@ function Device() {
* @param {Function} errorCallback The function to call when there is an error getting the heading data. (OPTIONAL)
*/
Device.prototype.getInfo = function(successCallback, errorCallback) {
// successCallback required
if (typeof successCallback !== "function") {
console.log("Device Error: successCallback is not a function");
return;
}
// errorCallback optional
if (errorCallback && (typeof errorCallback !== "function")) {
console.log("Device Error: errorCallback is not a function");
return;
}
// Get info
argscheck.checkArgs('fF', 'Device.getInfo', arguments);
exec(successCallback, errorCallback, "Device", "getDeviceInfo", []);
};
@ -5024,7 +5122,8 @@ module.exports = function(successCallback, errorCallback, message, forceAsync) {
// file: lib/common/plugin/geolocation.js
define("cordova/plugin/geolocation", function(require, exports, module) {
var utils = require('cordova/utils'),
var argscheck = require('cordova/argscheck'),
utils = require('cordova/utils'),
exec = require('cordova/exec'),
PositionError = require('cordova/plugin/PositionError'),
Position = require('cordova/plugin/Position');
@ -5081,9 +5180,7 @@ var geolocation = {
* @param {PositionOptions} options The options for getting the position data. (OPTIONAL)
*/
getCurrentPosition:function(successCallback, errorCallback, options) {
if (arguments.length === 0) {
throw new Error("getCurrentPosition must be called with at least one argument.");
}
argscheck.checkArgs('fFO', 'geolocation.getCurrentPosition', arguments);
options = parseParameters(options);
// Timer var that will fire an error callback if no position is retrieved from native
@ -5159,9 +5256,7 @@ var geolocation = {
* @return String The watch id that must be passed to #clearWatch to stop watching.
*/
watchPosition:function(successCallback, errorCallback, options) {
if (arguments.length === 0) {
throw new Error("watchPosition must be called with at least one argument.");
}
argscheck.checkArgs('fFO', 'geolocation.getCurrentPosition', arguments);
options = parseParameters(options);
var id = utils.createUUID();
@ -5223,7 +5318,8 @@ module.exports = geolocation;
// file: lib/common/plugin/globalization.js
define("cordova/plugin/globalization", function(require, exports, module) {
var exec = require('cordova/exec'),
var argscheck = require('cordova/argscheck'),
exec = require('cordova/exec'),
GlobalizationError = require('cordova/plugin/GlobalizationError');
var globalization = {
@ -5246,18 +5342,7 @@ var globalization = {
* function () {});
*/
getPreferredLanguage:function(successCB, failureCB) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.getPreferredLanguage Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.getPreferredLanguage Error: failureCB is not a function");
return;
}
argscheck.checkArgs('fF', 'Globalization.getPreferredLanguage', arguments);
exec(successCB, failureCB, "Globalization","getPreferredLanguage", []);
},
@ -5279,17 +5364,7 @@ getPreferredLanguage:function(successCB, failureCB) {
* function () {});
*/
getLocaleName:function(successCB, failureCB) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.getLocaleName Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.getLocaleName Error: failureCB is not a function");
return;
}
argscheck.checkArgs('fF', 'Globalization.getLocaleName', arguments);
exec(successCB, failureCB, "Globalization","getLocaleName", []);
},
@ -5320,27 +5395,9 @@ getLocaleName:function(successCB, failureCB) {
* {formatLength:'short'});
*/
dateToString:function(date, successCB, failureCB, options) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.dateToString Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.dateToString Error: failureCB is not a function");
return;
}
if (date instanceof Date){
var dateValue;
dateValue = date.valueOf();
argscheck.checkArgs('dfFO', 'Globalization.dateToString', arguments);
var dateValue = date.valueOf();
exec(successCB, failureCB, "Globalization", "dateToString", [{"date": dateValue, "options": options}]);
}
else {
console.log("Globalization.dateToString Error: date is not a Date object");
}
},
@ -5380,23 +5437,8 @@ dateToString:function(date, successCB, failureCB, options) {
* {selector:'date'});
*/
stringToDate:function(dateString, successCB, failureCB, options) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.stringToDate Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.stringToDate Error: failureCB is not a function");
return;
}
if (typeof dateString == "string"){
argscheck.checkArgs('sfFO', 'Globalization.stringToDate', arguments);
exec(successCB, failureCB, "Globalization", "stringToDate", [{"dateString": dateString, "options": options}]);
}
else {
console.log("Globalization.stringToDate Error: dateString is not a string");
}
},
@ -5433,18 +5475,7 @@ stringToDate:function(dateString, successCB, failureCB, options) {
* {formatLength:'short'});
*/
getDatePattern:function(successCB, failureCB, options) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.getDatePattern Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.getDatePattern Error: failureCB is not a function");
return;
}
argscheck.checkArgs('fFO', 'Globalization.getDatePattern', arguments);
exec(successCB, failureCB, "Globalization", "getDatePattern", [{"options": options}]);
},
@ -5475,17 +5506,7 @@ getDatePattern:function(successCB, failureCB, options) {
* function () {});
*/
getDateNames:function(successCB, failureCB, options) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.getDateNames Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.getDateNames Error: failureCB is not a function");
return;
}
argscheck.checkArgs('fFO', 'Globalization.getDateNames', arguments);
exec(successCB, failureCB, "Globalization", "getDateNames", [{"options": options}]);
},
@ -5510,28 +5531,9 @@ getDateNames:function(successCB, failureCB, options) {
* function () {});
*/
isDayLightSavingsTime:function(date, successCB, failureCB) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.isDayLightSavingsTime Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.isDayLightSavingsTime Error: failureCB is not a function");
return;
}
if (date instanceof Date){
var dateValue;
dateValue = date.valueOf();
argscheck.checkArgs('dfF', 'Globalization.isDayLightSavingsTime', arguments);
var dateValue = date.valueOf();
exec(successCB, failureCB, "Globalization", "isDayLightSavingsTime", [{"date": dateValue}]);
}
else {
console.log("Globalization.isDayLightSavingsTime Error: date is not a Date object");
}
},
/**
@ -5553,18 +5555,7 @@ isDayLightSavingsTime:function(date, successCB, failureCB) {
* function () {});
*/
getFirstDayOfWeek:function(successCB, failureCB) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.getFirstDayOfWeek Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.getFirstDayOfWeek Error: failureCB is not a function");
return;
}
argscheck.checkArgs('fF', 'Globalization.getFirstDayOfWeek', arguments);
exec(successCB, failureCB, "Globalization", "getFirstDayOfWeek", []);
},
@ -5593,24 +5584,8 @@ getFirstDayOfWeek:function(successCB, failureCB) {
* {type:'decimal'});
*/
numberToString:function(number, successCB, failureCB, options) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.numberToString Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.numberToString Error: failureCB is not a function");
return;
}
if(typeof number == "number") {
argscheck.checkArgs('nfFO', 'Globalization.numberToString', arguments);
exec(successCB, failureCB, "Globalization", "numberToString", [{"number": number, "options": options}]);
}
else {
console.log("Globalization.numberToString Error: number is not a number");
}
},
/**
@ -5637,24 +5612,8 @@ numberToString:function(number, successCB, failureCB, options) {
* function () { alert('Error parsing number');});
*/
stringToNumber:function(numberString, successCB, failureCB, options) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.stringToNumber Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.stringToNumber Error: failureCB is not a function");
return;
}
if(typeof numberString == "string") {
argscheck.checkArgs('sfFO', 'Globalization.stringToNumber', arguments);
exec(successCB, failureCB, "Globalization", "stringToNumber", [{"numberString": numberString, "options": options}]);
}
else {
console.log("Globalization.stringToNumber Error: numberString is not a string");
}
},
/**
@ -5690,18 +5649,7 @@ stringToNumber:function(numberString, successCB, failureCB, options) {
* function () {});
*/
getNumberPattern:function(successCB, failureCB, options) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.getNumberPattern Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.getNumberPattern Error: failureCB is not a function");
return;
}
argscheck.checkArgs('fFO', 'Globalization.getNumberPattern', arguments);
exec(successCB, failureCB, "Globalization", "getNumberPattern", [{"options": options}]);
},
@ -5733,25 +5681,9 @@ getNumberPattern:function(successCB, failureCB, options) {
* function () {});
*/
getCurrencyPattern:function(currencyCode, successCB, failureCB) {
// successCallback required
if (typeof successCB != "function") {
console.log("Globalization.getCurrencyPattern Error: successCB is not a function");
return;
}
// errorCallback required
if (typeof failureCB != "function") {
console.log("Globalization.getCurrencyPattern Error: failureCB is not a function");
return;
}
if(typeof currencyCode == "string") {
argscheck.checkArgs('sfF', 'Globalization.getCurrencyPattern', arguments);
exec(successCB, failureCB, "Globalization", "getCurrencyPattern", [{"currencyCode": currencyCode}]);
}
else {
console.log("Globalization.getCurrencyPattern Error: currencyCode is not a currency code");
}
}
};
@ -6004,49 +5936,9 @@ if (typeof navigator != 'undefined') {
});
}
var NetworkConnection = function () {
this.type = null;
this._firstRun = true;
this._timer = null;
this.timeout = 500;
var me = this;
channel.onCordovaReady.subscribe(function() {
me.getInfo(function (info) {
me.type = info;
if (info === "none") {
// set a timer if still offline at the end of timer send the offline event
me._timer = setTimeout(function(){
cordova.fireDocumentEvent("offline");
me._timer = null;
}, me.timeout);
} else {
// If there is a current offline event pending clear it
if (me._timer !== null) {
clearTimeout(me._timer);
me._timer = null;
function NetworkConnection() {
this.type = 'unknown';
}
cordova.fireDocumentEvent("online");
}
// should only fire this once
if (me._firstRun) {
me._firstRun = false;
channel.onCordovaConnectionReady.fire();
}
},
function (e) {
// If we can't get the network info we should still tell Cordova
// to fire the deviceready event.
if (me._firstRun) {
me._firstRun = false;
channel.onCordovaConnectionReady.fire();
}
console.log("Error initializing Network Connection: " + e);
});
});
};
/**
* Get connection info
@ -6055,11 +5947,47 @@ var NetworkConnection = function () {
* @param {Function} errorCallback The function to call when there is an error getting the Connection data. (OPTIONAL)
*/
NetworkConnection.prototype.getInfo = function(successCallback, errorCallback) {
// Get info
exec(successCallback, errorCallback, "NetworkStatus", "getConnectionInfo", []);
};
module.exports = new NetworkConnection();
var me = new NetworkConnection();
var timerId = null;
var timeout = 500;
channel.onCordovaReady.subscribe(function() {
me.getInfo(function(info) {
me.type = info;
if (info === "none") {
// set a timer if still offline at the end of timer send the offline event
timerId = setTimeout(function(){
cordova.fireDocumentEvent("offline");
timerId = null;
}, timeout);
} else {
// If there is a current offline event pending clear it
if (timerId !== null) {
clearTimeout(timerId);
timerId = null;
}
cordova.fireDocumentEvent("online");
}
// should only fire this once
if (channel.onCordovaConnectionReady.state !== 2) {
channel.onCordovaConnectionReady.fire();
}
},
function (e) {
// If we can't get the network info we should still tell Cordova
// to fire the deviceready event.
if (channel.onCordovaConnectionReady.state !== 2) {
channel.onCordovaConnectionReady.fire();
}
console.log("Error initializing Network Connection: " + e);
});
});
module.exports = me;
});
@ -6128,7 +6056,8 @@ module.exports = {
// file: lib/common/plugin/requestFileSystem.js
define("cordova/plugin/requestFileSystem", function(require, exports, module) {
var FileError = require('cordova/plugin/FileError'),
var argscheck = require('cordova/argscheck'),
FileError = require('cordova/plugin/FileError'),
FileSystem = require('cordova/plugin/FileSystem'),
exec = require('cordova/exec');
@ -6140,10 +6069,9 @@ var FileError = require('cordova/plugin/FileError'),
* @param errorCallback invoked if error occurs retrieving file system
*/
var requestFileSystem = function(type, size, successCallback, errorCallback) {
argscheck.checkArgs('nnFF', 'requestFileSystem', arguments);
var fail = function(code) {
if (typeof errorCallback === 'function') {
errorCallback(new FileError(code));
}
errorCallback && errorCallback(new FileError(code));
};
if (type < 0 || type > 3) {
@ -6152,7 +6080,7 @@ var requestFileSystem = function(type, size, successCallback, errorCallback) {
// if successful, return a FileSystem object
var success = function(file_system) {
if (file_system) {
if (typeof successCallback === 'function') {
if (successCallback) {
// grab the name and root from the file system object
var result = new FileSystem(file_system.name, file_system.root);
successCallback(result);
@ -6174,7 +6102,8 @@ module.exports = requestFileSystem;
// file: lib/common/plugin/resolveLocalFileSystemURI.js
define("cordova/plugin/resolveLocalFileSystemURI", function(require, exports, module) {
var DirectoryEntry = require('cordova/plugin/DirectoryEntry'),
var argscheck = require('cordova/argscheck'),
DirectoryEntry = require('cordova/plugin/DirectoryEntry'),
FileEntry = require('cordova/plugin/FileEntry'),
FileError = require('cordova/plugin/FileError'),
exec = require('cordova/exec');
@ -6186,11 +6115,10 @@ var DirectoryEntry = require('cordova/plugin/DirectoryEntry'),
* @param errorCallback invoked if error occurs retrieving file system entry
*/
module.exports = function(uri, successCallback, errorCallback) {
argscheck.checkArgs('sFF', 'resolveLocalFileSystemURI', arguments);
// error callback
var fail = function(error) {
if (typeof errorCallback === 'function') {
errorCallback(new FileError(error));
}
errorCallback && errorCallback(new FileError(error));
};
// sanity check for 'not:valid:filename'
if(!uri || uri.split(":").length > 2) {
@ -6203,16 +6131,11 @@ module.exports = function(uri, successCallback, errorCallback) {
var success = function(entry) {
var result;
if (entry) {
if (typeof successCallback === 'function') {
if (successCallback) {
// create appropriate Entry object
result = (entry.isDirectory) ? new DirectoryEntry(entry.name, entry.fullPath) : new FileEntry(entry.name, entry.fullPath);
try {
successCallback(result);
}
catch (e) {
console.log('Error invoking callback: ' + e);
}
}
}
else {
// no Entry object returned
@ -6259,6 +6182,30 @@ utils.defineGetter = function(obj, key, func) {
}
};
utils.arrayIndexOf = function(a, item) {
if (a.indexOf) {
return a.indexOf(item);
}
var len = a.length;
for (var i = 0; i < len; ++i) {
if (a[i] == item) {
return i;
}
}
return -1;
};
/**
* Returns whether the item was found in the array.
*/
utils.arrayRemove = function(a, item) {
var index = utils.arrayIndexOf(a, item);
if (index != -1) {
a.splice(index, 1);
}
return index != -1;
};
/**
* Returns an indication of whether the argument is an array or not
*/
@ -6454,10 +6401,10 @@ window.cordova = require('cordova');
(function (context) {
// Replace navigator before any modules are required(), to ensure it happens as soon as possible.
// We replace it so that properties that can't be clobbered can instead be overridden.
if (typeof navigator != 'undefined') {
var CordovaNavigator = function () {};
CordovaNavigator.prototype = navigator;
navigator = new CordovaNavigator();
if (context.navigator) {
function CordovaNavigator() {}
CordovaNavigator.prototype = context.navigator;
context.navigator = new CordovaNavigator();
}
var channel = require("cordova/channel"),
@ -6472,17 +6419,13 @@ window.cordova = require('cordova');
platform = require('cordova/platform');
// Drop the common globals into the window object, but be nice and don't overwrite anything.
builder.build(base.objects).intoButDoNotClobber(window);
builder.buildIntoButDoNotClobber(base.defaults, context);
builder.buildIntoAndMerge(base.merges, context);
builder.buildIntoAndClobber(base.clobbers, context);
// Drop the platform-specific globals into the window object
// and clobber any existing object.
builder.build(platform.objects).intoAndClobber(window);
// Merge the platform-specific overrides/enhancements into
// the window object.
if (typeof platform.merges !== 'undefined') {
builder.build(platform.merges).intoAndMerge(window);
}
builder.buildIntoButDoNotClobber(platform.defaults, context);
builder.buildIntoAndMerge(platform.merges, context);
builder.buildIntoAndClobber(platform.clobbers, context);
// Call the platform-specific initialization
platform.initialize();