diff --git a/framework/assets/js/cordova.android.js b/framework/assets/js/cordova.android.js index ddbb4b5e..2e91464d 100644 --- a/framework/assets/js/cordova.android.js +++ b/framework/assets/js/cordova.android.js @@ -1,6 +1,6 @@ -// commit 95f199e1c207dc89b84e79a9a7b27d6a3cc8fe14 +// commit 548f80ccff155e01a7dcbedfcc0d826253110f53 -// File generated at :: Thu May 24 2012 21:36:17 GMT-0400 (EDT) +// File generated at :: Sat Jun 02 2012 22:53:34 GMT+0200 (CEST) /* Licensed to the Apache Software Foundation (ASF) under one @@ -77,7 +77,7 @@ var channel = require('cordova/channel'); document.addEventListener('DOMContentLoaded', function() { channel.onDOMContentLoaded.fire(); }, false); -if (document.readyState == 'complete') { +if (document.readyState == 'complete' || document.readyState == 'interactive') { channel.onDOMContentLoaded.fire(); } @@ -99,7 +99,11 @@ var documentEventHandlers = {}, document.addEventListener = function(evt, handler, capture) { var e = evt.toLowerCase(); if (typeof documentEventHandlers[e] != 'undefined') { - documentEventHandlers[e].subscribe(handler); + if (evt === 'deviceready') { + documentEventHandlers[e].subscribeOnce(handler); + } else { + documentEventHandlers[e].subscribe(handler); + } } else { m_document_addEventListener.call(document, evt, handler, capture); } @@ -504,7 +508,7 @@ var Channel = function(type, opts) { this.type = type; this.handlers = {}; this.numHandlers = 0; - this.guid = 0; + this.guid = 1; this.fired = false; this.enabled = true; this.events = { @@ -595,12 +599,21 @@ Channel.prototype.subscribe = function(f, c, g) { var func = f; if (typeof c == "object") { func = utils.close(c, f); } - g = g || func.observer_guid || f.observer_guid || this.guid++; + g = g || func.observer_guid || f.observer_guid; + if (!g) { + // first time we've seen this subscriber + g = this.guid++; + } + else { + // subscriber already handled; dont set it twice + return g; + } func.observer_guid = g; f.observer_guid = g; this.handlers[g] = func; this.numHandlers++; if (this.events.onSubscribe) this.events.onSubscribe.call(this); + if (this.fired) func.call(this); return g; }; @@ -637,11 +650,9 @@ Channel.prototype.unsubscribe = function(g) { if (typeof g == 'function') { g = g.observer_guid; } var handler = this.handlers[g]; if (handler) { + if (handler.observer_guid) handler.observer_guid=null; this.handlers[g] = null; delete this.handlers[g]; - } - // useful when same handler has been set multiple times and already deleted - if (this.numHandlers > 0) { this.numHandlers--; if (this.events.onUnsubscribe) this.events.onUnsubscribe.call(this); } @@ -1113,7 +1124,7 @@ module.exports = { // Patch localStorage if necessary if (typeof window.localStorage == 'undefined' || window.localStorage === null) { - window.localStorage = new storage.CupCakeLocalStorage(); + window.localStorage = new storage.CupcakeLocalStorage(); } // Let native code know we are all done on the JS side. @@ -1284,8 +1295,12 @@ cameraExport.getPicture = function(successCallback, errorCallback, options) { } else if (typeof options.saveToPhotoAlbum == "number") { saveToPhotoAlbum = options.saveToPhotoAlbum <=0 ? false : true; } + var popoverOptions = null; + if (typeof options.popoverOptions == "object") { + popoverOptions = options.popoverOptions; + } - exec(successCallback, errorCallback, "Camera", "takePicture", [quality, destinationType, sourceType, targetWidth, targetHeight, encodingType, mediaType, allowEdit, correctOrientation, saveToPhotoAlbum]); + exec(successCallback, errorCallback, "Camera", "takePicture", [quality, destinationType, sourceType, targetWidth, targetHeight, encodingType, mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions]); }; module.exports = cameraExport; @@ -1311,6 +1326,13 @@ module.exports = { PHOTOLIBRARY : 0, // Choose image from picture library (same as SAVEDPHOTOALBUM for Android) CAMERA : 1, // Take picture from camera SAVEDPHOTOALBUM : 2 // Choose image from picture library (same as PHOTOLIBRARY for Android) + }, + PopoverArrowDirection:{ + ARROW_UP : 1, // matches iOS UIPopoverArrowDirection constants to specify arrow location on popover + ARROW_DOWN : 2, + ARROW_LEFT : 4, + ARROW_RIGHT : 8, + ARROW_ANY : 15 } }; }); @@ -3628,6 +3650,7 @@ module.exports = { exec(null, null, "App", "overrideButton", [button, override]); }, + /** * Exit and terminate the application. */ @@ -5465,68 +5488,6 @@ var splashscreen = { module.exports = splashscreen; }); -// file: lib/common/plugin/widget.js -define("cordova/plugin/widget", function(require, exports, module) { -var exec = require('cordova/exec'), - cordova = require('cordova'), - channel = require('cordova/channel'); - -var Widget = function () { - this.author = null; - this.description = null; - this.name = null; - this.shortName = null; - this.version = null; - this.id = null; - this.authorEmail = null; - this.authorHref = null; - this._firstRun = true; - - var me = this; - - channel.onCordovaReady.subscribeOnce(function() { - me.getInfo(function (info) { - me.author = info.author; - me.description = info.description; - me.name = info.name; - me.shortName = info.shortName; - me.version = info.version; - me.id = info.id; - me.authorEmail = info.authorEmail; - me.authorHref = info.authorHref; - - // should only fire this once - if (me._firstRun) { - me._firstRun = false; - channel.onCordovaAppInfoReady.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.onCordovaAppInfoReady.fire(); - } - console.log("Error initializing Widget: " + e); - }); - }); -}; - -/** - * Get connection info - * - * @param {Function} successCallback The function to call when the Connection data is available - * @param {Function} errorCallback The function to call when there is an error getting the Connection data. (OPTIONAL) - */ -Widget.prototype.getInfo = function (successCallback, errorCallback) { - // Get info - exec(successCallback, errorCallback, "Widget", "getApplicationInfo", []); -}; - -module.exports = new Widget(); -}); - // file: lib/common/utils.js define("cordova/utils", function(require, exports, module) { var utils = exports;