You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2012/03/16 19:14:49 UTC
[6/29] removed old JS, added cordova-js version
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/acceleration.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/acceleration.js b/CordovaLib/javascripts/core/acceleration.js
deleted file mode 100644
index d2d29de..0000000
--- a/CordovaLib/javascripts/core/acceleration.js
+++ /dev/null
@@ -1,42 +0,0 @@
-if (!Cordova.hasResource("acceleration")) {
- Cordova.addResource("acceleration");
-
-
-/**
- * This class contains acceleration information
- * @constructor
- * @param {Number} x The force applied by the device in the x-axis.
- * @param {Number} y The force applied by the device in the y-axis.
- * @param {Number} z The force applied by the device in the z-axis.
- */
-Acceleration = function(x, y, z) {
- /**
- * The force applied by the device in the x-axis.
- */
- this.x = x;
- /**
- * The force applied by the device in the y-axis.
- */
- this.y = y;
- /**
- * The force applied by the device in the z-axis.
- */
- this.z = z;
- /**
- * The time that the acceleration was obtained.
- */
- this.timestamp = new Date().getTime();
-}
-
-/**
- * This class specifies the options for requesting acceleration data.
- * @constructor
- */
-AccelerationOptions = function() {
- /**
- * The timeout after which if acceleration data cannot be obtained the errorCallback
- * is called.
- */
- this.timeout = 10000;
-}
-};
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/accelerometer.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/accelerometer.js b/CordovaLib/javascripts/core/accelerometer.js
deleted file mode 100644
index beb7ff6..0000000
--- a/CordovaLib/javascripts/core/accelerometer.js
+++ /dev/null
@@ -1,160 +0,0 @@
-if (!Cordova.hasResource("accelerometer")) {
- Cordova.addResource("accelerometer");
-
-/**
- * This class provides access to device accelerometer data.
- * @constructor
- */
-Accelerometer = function()
-{
- /**
- * The last known acceleration.
- */
- this.lastAcceleration = new Acceleration(0,0,0);
-}
-
-/**
- * Asynchronously aquires the current acceleration.
- * @param {Function} successCallback The function to call when the acceleration
- * data is available
- * @param {Function} errorCallback The function to call when there is an error
- * getting the acceleration data.
- * @param {AccelerationOptions} options The options for getting the accelerometer data
- * such as timeout.
- */
-Accelerometer.prototype.getCurrentAcceleration = function(successCallback, errorCallback, options) {
- // If the acceleration is available then call success
- // If the acceleration is not available then call error
-
- // Created for iPhone, Iphone passes back _accel obj litteral
- if (typeof successCallback == "function") {
- successCallback(this.lastAcceleration);
- }
-};
-
-// private callback called from Obj-C by name
-Accelerometer.prototype._onAccelUpdate = function(x,y,z)
-{
- this.lastAcceleration = new Acceleration(x,y,z);
-};
-
-/**
- * Asynchronously aquires the acceleration repeatedly at a given interval.
- * @param {Function} successCallback The function to call each time the acceleration
- * data is available
- * @param {Function} errorCallback The function to call when there is an error
- * getting the acceleration data.
- * @param {AccelerationOptions} options The options for getting the accelerometer data
- * such as timeout.
- */
-
-Accelerometer.prototype.watchAcceleration = function(successCallback, errorCallback, options) {
- //this.getCurrentAcceleration(successCallback, errorCallback, options);
- // TODO: add the interval id to a list so we can clear all watches
- var frequency = (options != undefined && options.frequency != undefined) ? options.frequency : 10000;
- var updatedOptions = {
- desiredFrequency:frequency
- }
- Cordova.exec(null, null, "org.apache.cordova.accelerometer", "start", [options]);
-
- return setInterval(function() {
- navigator.accelerometer.getCurrentAcceleration(successCallback, errorCallback, options);
- }, frequency);
-};
-
-/**
- * Clears the specified accelerometer watch.
- * @param {String} watchId The ID of the watch returned from #watchAcceleration.
- */
-Accelerometer.prototype.clearWatch = function(watchId) {
- Cordova.exec(null, null, "org.apache.cordova.accelerometer", "stop", []);
- clearInterval(watchId);
-};
-
-Accelerometer.install = function()
-{
- if (typeof navigator.accelerometer == "undefined") {
- navigator.accelerometer = new Accelerometer();
- }
-};
-
-Accelerometer.installDeviceMotionHandler = function()
-{
- if (!(window.DeviceMotionEvent == undefined)) {
- // supported natively, so we don't have to add support
- return;
- }
-
- var self = this;
- var devicemotionEvent = 'devicemotion';
- self.deviceMotionWatchId = null;
- self.deviceMotionListenerCount = 0;
- self.deviceMotionLastEventTimestamp = 0;
-
- // backup original `window.addEventListener`, `window.removeEventListener`
- var _addEventListener = window.addEventListener;
- var _removeEventListener = window.removeEventListener;
-
- var windowDispatchAvailable = !(window.dispatchEvent === undefined); // undefined in iOS 3.x
-
- var accelWin = function(acceleration) {
- var evt = document.createEvent('Events');
- evt.initEvent(devicemotionEvent);
-
- evt.acceleration = null; // not all devices have gyroscope, don't care for now if we actually have it.
- evt.rotationRate = null; // not all devices have gyroscope, don't care for now if we actually have it:
- evt.accelerationIncludingGravity = acceleration; // accelerometer, all iOS devices have it
-
- var currentTime = new Date().getTime();
- evt.interval = (self.deviceMotionLastEventTimestamp == 0) ? 0 : (currentTime - self.deviceMotionLastEventTimestamp);
- self.deviceMotionLastEventTimestamp = currentTime;
-
- if (windowDispatchAvailable) {
- window.dispatchEvent(evt);
- } else {
- document.dispatchEvent(evt);
- }
- };
-
- var accelFail = function() {
-
- };
-
- // override `window.addEventListener`
- window.addEventListener = function() {
- if (arguments[0] === devicemotionEvent) {
- ++(self.deviceMotionListenerCount);
- if (self.deviceMotionListenerCount == 1) { // start
- self.deviceMotionWatchId = navigator.accelerometer.watchAcceleration(accelWin, accelFail, { frequency:500});
- }
- }
-
- if (!windowDispatchAvailable) {
- return document.addEventListener.apply(this, arguments);
- } else {
- return _addEventListener.apply(this, arguments);
- }
- };
-
- // override `window.removeEventListener'
- window.removeEventListener = function() {
- if (arguments[0] === devicemotionEvent) {
- --(self.deviceMotionListenerCount);
- if (self.deviceMotionListenerCount == 0) { // stop
- navigator.accelerometer.clearWatch(self.deviceMotionWatchId);
- }
- }
-
- if (!windowDispatchAvailable) {
- return document.removeEventListener.apply(this, arguments);
- } else {
- return _removeEventListener.apply(this, arguments);
- }
- };
-};
-
-
-Cordova.addConstructor(Accelerometer.install);
-Cordova.addConstructor(Accelerometer.installDeviceMotionHandler);
-
-};
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/battery.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/battery.js b/CordovaLib/javascripts/core/battery.js
deleted file mode 100644
index 685a630..0000000
--- a/CordovaLib/javascripts/core/battery.js
+++ /dev/null
@@ -1,123 +0,0 @@
-
-if (!Cordova.hasResource("battery")) {
-Cordova.addResource("battery");
-
-/**
- * This class contains information about the current battery status.
- * @constructor
- */
-var Battery = function() {
- this._level = null;
- this._isPlugged = null;
- this._batteryListener = [];
- this._lowListener = [];
- this._criticalListener = [];
-};
-
-/**
- * Registers as an event producer for battery events.
- *
- * @param {Object} eventType
- * @param {Object} handler
- * @param {Object} add
- */
-Battery.prototype.eventHandler = function(eventType, handler, add) {
- var me = navigator.battery;
- if (add) {
- // If there are no current registered event listeners start the battery listener on native side.
- if (me._batteryListener.length === 0 && me._lowListener.length === 0 && me._criticalListener.length === 0) {
- Cordova.exec(me._status, me._error, "org.apache.cordova.battery", "start", []);
- }
-
- // Register the event listener in the proper array
- if (eventType === "batterystatus") {
- var pos = me._batteryListener.indexOf(handler);
- if (pos === -1) {
- me._batteryListener.push(handler);
- }
- } else if (eventType === "batterylow") {
- var pos = me._lowListener.indexOf(handler);
- if (pos === -1) {
- me._lowListener.push(handler);
- }
- } else if (eventType === "batterycritical") {
- var pos = me._criticalListener.indexOf(handler);
- if (pos === -1) {
- me._criticalListener.push(handler);
- }
- }
- } else {
- // Remove the event listener from the proper array
- if (eventType === "batterystatus") {
- var pos = me._batteryListener.indexOf(handler);
- if (pos > -1) {
- me._batteryListener.splice(pos, 1);
- }
- } else if (eventType === "batterylow") {
- var pos = me._lowListener.indexOf(handler);
- if (pos > -1) {
- me._lowListener.splice(pos, 1);
- }
- } else if (eventType === "batterycritical") {
- var pos = me._criticalListener.indexOf(handler);
- if (pos > -1) {
- me._criticalListener.splice(pos, 1);
- }
- }
-
- // If there are no more registered event listeners stop the battery listener on native side.
- if (me._batteryListener.length === 0 && me._lowListener.length === 0 && me._criticalListener.length === 0) {
- Cordova.exec(null, null, "org.apache.cordova.battery", "stop", []);
- }
- }
-};
-
-/**
- * Callback for battery status
- *
- * @param {Object} info keys: level, isPlugged
- */
-Battery.prototype._status = function(info) {
- if (info) {
- var me = this;
- if (me._level != info.level || me._isPlugged != info.isPlugged) {
- // Fire batterystatus event
- //Cordova.fireWindowEvent("batterystatus", info);
- // use this workaround since iOS 3.x does have window.dispatchEvent
- Cordova.fireEvent("batterystatus", window, info);
-
- // Fire low battery event
- if (info.level == 20 || info.level == 5) {
- if (info.level == 20) {
- //Cordova.fireWindowEvent("batterylow", info);
- // use this workaround since iOS 3.x does not have window.dispatchEvent
- Cordova.fireEvent("batterylow", window, info);
- }
- else {
- //Cordova.fireWindowEvent("batterycritical", info);
- // use this workaround since iOS 3.x does not have window.dispatchEvent
- Cordova.fireEvent("batterycritical", window, info);
- }
- }
- }
- me._level = info.level;
- me._isPlugged = info.isPlugged;
- }
-};
-
-/**
- * Error callback for battery start
- */
-Battery.prototype._error = function(e) {
- console.log("Error initializing Battery: " + e);
-};
-
-Cordova.addConstructor(function() {
- if (typeof navigator.battery === "undefined") {
- navigator.battery = new Battery();
- Cordova.addWindowEventHandler("batterystatus", navigator.battery.eventHandler);
- Cordova.addWindowEventHandler("batterylow", navigator.battery.eventHandler);
- Cordova.addWindowEventHandler("batterycritical", navigator.battery.eventHandler);
- }
-});
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/camera.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/camera.js b/CordovaLib/javascripts/core/camera.js
deleted file mode 100644
index 1cc5ebb..0000000
--- a/CordovaLib/javascripts/core/camera.js
+++ /dev/null
@@ -1,117 +0,0 @@
-if (!Cordova.hasResource("camera")) {
- Cordova.addResource("camera");
-
-
-/**
- * This class provides access to the device camera.
- * @constructor
- */
-Camera = function() {
-
-}
-/**
- * Available Camera Options
- * {boolean} allowEdit - true to allow editing image, default = false
- * {number} quality 0-100 (low to high) default = 100
- * {Camera.DestinationType} destinationType default = DATA_URL
- * {Camera.PictureSourceType} sourceType default = CAMERA
- * {number} targetWidth - width in pixels to scale image default = 0 (no scaling)
- * {number} targetHeight - height in pixels to scale image default = 0 (no scaling)
- * {Camera.EncodingType} - encodingType default = JPEG
- * {boolean} correctOrientation - Rotate the image to correct for the orientation of the device during capture (iOS only)
- * {boolean} saveToPhotoAlbum - Save the image to the photo album on the device after capture (iOS only)
- */
-/**
- * Format of image that is returned from getPicture.
- *
- * Example: navigator.camera.getPicture(success, fail,
- * { quality: 80,
- * destinationType: Camera.DestinationType.DATA_URL,
- * sourceType: Camera.PictureSourceType.PHOTOLIBRARY})
- */
-Camera.DestinationType = {
- DATA_URL: 0, // Return base64 encoded string
- FILE_URI: 1 // Return file uri
-};
-Camera.prototype.DestinationType = Camera.DestinationType;
-
-/**
- * Source to getPicture from.
- *
- * Example: navigator.camera.getPicture(success, fail,
- * { quality: 80,
- * destinationType: Camera.DestinationType.DATA_URL,
- * sourceType: Camera.PictureSourceType.PHOTOLIBRARY})
- */
-Camera.PictureSourceType = {
- PHOTOLIBRARY : 0, // Choose image from picture library
- CAMERA : 1, // Take picture from camera
- SAVEDPHOTOALBUM : 2 // Choose image from picture library
-};
-Camera.prototype.PictureSourceType = Camera.PictureSourceType;
-
-/**
- * Encoding of image returned from getPicture.
- *
- * Example: navigator.camera.getPicture(success, fail,
- * { quality: 80,
- * destinationType: Camera.DestinationType.DATA_URL,
- * sourceType: Camera.PictureSourceType.CAMERA,
- * encodingType: Camera.EncodingType.PNG})
- */
-Camera.EncodingType = {
- JPEG: 0, // Return JPEG encoded image
- PNG: 1 // Return PNG encoded image
-};
-Camera.prototype.EncodingType = Camera.EncodingType;
-
-/**
- * Type of pictures to select from. Only applicable when
- * PictureSourceType is PHOTOLIBRARY or SAVEDPHOTOALBUM
- *
- * Example: navigator.camera.getPicture(success, fail,
- * { quality: 80,
- * destinationType: Camera.DestinationType.DATA_URL,
- * sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
- * mediaType: Camera.MediaType.PICTURE})
- */
-Camera.MediaType = {
- PICTURE: 0, // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType
- VIDEO: 1, // allow selection of video only, ONLY RETURNS URL
- ALLMEDIA : 2 // allow selection from all media types
-};
-Camera.prototype.MediaType = Camera.MediaType;
-
-/**
- * Gets a picture from source defined by "options.sourceType", and returns the
- * image as defined by the "options.destinationType" option.
-
- * The defaults are sourceType=CAMERA and destinationType=DATA_URL.
- *
- * @param {Function} successCallback
- * @param {Function} errorCallback
- * @param {Object} options
- */
-Camera.prototype.getPicture = function(successCallback, errorCallback, options) {
- // successCallback required
- if (typeof successCallback != "function") {
- console.log("Camera Error: successCallback is not a function");
- return;
- }
-
- // errorCallback optional
- if (errorCallback && (typeof errorCallback != "function")) {
- console.log("Camera Error: errorCallback is not a function");
- return;
- }
-
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.camera","getPicture",[options]);
-};
-
-
-
-Cordova.addConstructor(function() {
- if (typeof navigator.camera == "undefined") navigator.camera = new Camera();
-});
-};
-
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/capture.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/capture.js b/CordovaLib/javascripts/core/capture.js
deleted file mode 100644
index 44bfc97..0000000
--- a/CordovaLib/javascripts/core/capture.js
+++ /dev/null
@@ -1,194 +0,0 @@
-if (!Cordova.hasResource("capture")) {
- Cordova.addResource("capture");
-/**
- * The CaptureError interface encapsulates all errors in the Capture API.
- */
-function CaptureError() {
- this.code = null;
-};
-
-// Capture error codes
-CaptureError.CAPTURE_INTERNAL_ERR = 0;
-CaptureError.CAPTURE_APPLICATION_BUSY = 1;
-CaptureError.CAPTURE_INVALID_ARGUMENT = 2;
-CaptureError.CAPTURE_NO_MEDIA_FILES = 3;
-CaptureError.CAPTURE_NOT_SUPPORTED = 20;
-
-/**
- * The Capture interface exposes an interface to the camera and microphone of the hosting device.
- */
-function Capture() {
- this.supportedAudioModes = [];
- this.supportedImageModes = [];
- this.supportedVideoModes = [];
-};
-
-/**
- * Launch audio recorder application for recording audio clip(s).
- *
- * @param {Function} successCB
- * @param {Function} errorCB
- * @param {CaptureAudioOptions} options
- *
- * No audio recorder to launch for iOS - return CAPTURE_NOT_SUPPORTED
- */
-Capture.prototype.captureAudio = function(successCallback, errorCallback, options) {
- /*if (errorCallback && typeof errorCallback === "function") {
- errorCallback({
- "code": CaptureError.CAPTURE_NOT_SUPPORTED
- });
- }*/
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.mediacapture", "captureAudio", [options]);
-};
-
-/**
- * Launch camera application for taking image(s).
- *
- * @param {Function} successCB
- * @param {Function} errorCB
- * @param {CaptureImageOptions} options
- */
-Capture.prototype.captureImage = function(successCallback, errorCallback, options) {
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.mediacapture", "captureImage", [options]);
-};
-
-/**
- * Casts a PluginResult message property (array of objects) to an array of MediaFile objects
- * (used in Objective-C)
- *
- * @param {PluginResult} pluginResult
- */
-Capture.prototype._castMediaFile = function(pluginResult) {
- var mediaFiles = [];
- var i;
- for (i=0; i<pluginResult.message.length; i++) {
- var mediaFile = new MediaFile();
- mediaFile.name = pluginResult.message[i].name;
- mediaFile.fullPath = pluginResult.message[i].fullPath;
- mediaFile.type = pluginResult.message[i].type;
- mediaFile.lastModifiedDate = pluginResult.message[i].lastModifiedDate;
- mediaFile.size = pluginResult.message[i].size;
- mediaFiles.push(mediaFile);
- }
- pluginResult.message = mediaFiles;
- return pluginResult;
-};
-
-/**
- * Launch device camera application for recording video(s).
- *
- * @param {Function} successCB
- * @param {Function} errorCB
- * @param {CaptureVideoOptions} options
- */
-Capture.prototype.captureVideo = function(successCallback, errorCallback, options) {
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.mediacapture", "captureVideo", [options]);
-};
-
-/**
- * Encapsulates a set of parameters that the capture device supports.
- */
-function ConfigurationData() {
- // The ASCII-encoded string in lower case representing the media type.
- this.type;
- // The height attribute represents height of the image or video in pixels.
- // In the case of a sound clip this attribute has value 0.
- this.height = 0;
- // The width attribute represents width of the image or video in pixels.
- // In the case of a sound clip this attribute has value 0
- this.width = 0;
-};
-
-/**
- * Encapsulates all image capture operation configuration options.
- */
-var CaptureImageOptions = function() {
- // Upper limit of images user can take. Value must be equal or greater than 1.
- this.limit = 1;
- // The selected image mode. Must match with one of the elements in supportedImageModes array.
- this.mode = null;
-};
-
-/**
- * Encapsulates all video capture operation configuration options.
- */
-var CaptureVideoOptions = function() {
- // Upper limit of videos user can record. Value must be equal or greater than 1.
- this.limit = 1;
- // Maximum duration of a single video clip in seconds.
- this.duration = 0;
- // The selected video mode. Must match with one of the elements in supportedVideoModes array.
- this.mode = null;
-};
-
-/**
- * Encapsulates all audio capture operation configuration options.
- */
-var CaptureAudioOptions = function() {
- // Upper limit of sound clips user can record. Value must be equal or greater than 1.
- this.limit = 1;
- // Maximum duration of a single sound clip in seconds.
- this.duration = 0;
- // The selected audio mode. Must match with one of the elements in supportedAudioModes array.
- this.mode = null;
-};
-
-/**
- * Represents a single file.
- *
- * name {DOMString} name of the file, without path information
- * fullPath {DOMString} the full path of the file, including the name
- * type {DOMString} mime type
- * lastModifiedDate {Date} last modified date
- * size {Number} size of the file in bytes
- */
-function MediaFile(name, fullPath, type, lastModifiedDate, size) {
- this.name = name || null;
- this.fullPath = fullPath || null;
- this.type = type || null;
- this.lastModifiedDate = lastModifiedDate || null;
- this.size = size || 0;
-}
-
-/**
- * Request capture format data for a specific file and type
- *
- * @param {Function} successCB
- * @param {Function} errorCB
- */
-MediaFile.prototype.getFormatData = function(successCallback, errorCallback) {
- if (typeof this.fullPath === "undefined" || this.fullPath === null) {
- errorCallback({
- "code": CaptureError.CAPTURE_INVALID_ARGUMENT
- });
- } else {
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.mediacapture", "getFormatData", [this.fullPath, this.type]);
- }
-};
-
-/**
- * MediaFileData encapsulates format information of a media file.
- *
- * @param {DOMString} codecs
- * @param {long} bitrate
- * @param {long} height
- * @param {long} width
- * @param {float} duration
- */
-function MediaFileData(codecs, bitrate, height, width, duration) {
- this.codecs = codecs || null;
- this.bitrate = bitrate || 0;
- this.height = height || 0;
- this.width = width || 0;
- this.duration = duration || 0;
-}
-
-Cordova.addConstructor(function() {
- if (typeof navigator.device === "undefined") {
- navigator.device = window.device = new Device();
- }
- if (typeof navigator.device.capture === "undefined") {
- navigator.device.capture = window.device.capture = new Capture();
- }
-});
-};
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/compass.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/compass.js b/CordovaLib/javascripts/core/compass.js
deleted file mode 100644
index 443984c..0000000
--- a/CordovaLib/javascripts/core/compass.js
+++ /dev/null
@@ -1,155 +0,0 @@
-if (!Cordova.hasResource("compass")) {
- Cordova.addResource("compass");
-
-CompassError = function(){
- this.code = null;
-};
-
-// Capture error codes
-CompassError.COMPASS_INTERNAL_ERR = 0;
-CompassError.COMPASS_NOT_SUPPORTED = 20;
-
-CompassHeading = function() {
- this.magneticHeading = null;
- this.trueHeading = null;
- this.headingAccuracy = null;
- this.timestamp = null;
-}
-/**
- * This class provides access to device Compass data.
- * @constructor
- */
-Compass = function() {
- /**
- * List of compass watch timers
- */
- this.timers = {};
-};
-
-/**
- * Asynchronously acquires the current heading.
- * @param {Function} successCallback The function to call when the heading
- * data is available
- * @param {Function} errorCallback The function to call when there is an error
- * getting the heading data.
- * @param {PositionOptions} options The options for getting the heading data (not used).
- */
-Compass.prototype.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;
- }
-
- // Get heading
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.geolocation", "getCurrentHeading", []);
-};
-
-/**
- * Asynchronously acquires the heading repeatedly at a given interval.
- * @param {Function} successCallback The function to call each time the heading
- * data is available
- * @param {Function} errorCallback The function to call when there is an error
- * getting the heading data.
- * @param {HeadingOptions} options The options for getting the heading data
- * such as timeout and the frequency of the watch.
- */
-Compass.prototype.watchHeading= function(successCallback, errorCallback, options)
-{
- // Default interval (100 msec)
- var frequency = (options !== undefined) ? options.frequency : 100;
-
- // 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;
- }
-
- // Start watch timer to get headings
- var id = Cordova.createUUID();
- navigator.compass.timers[id] = setInterval(
- function() {
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.geolocation", "getCurrentHeading", [{repeats: 1}]);
- }, frequency);
-
- return id;
-};
-
-
-/**
- * Clears the specified heading watch.
- * @param {String} watchId The ID of the watch returned from #watchHeading.
- */
-Compass.prototype.clearWatch = function(id)
-{
- // Stop javascript timer & remove from timer list
- if (id && navigator.compass.timers[id]) {
- clearInterval(navigator.compass.timers[id]);
- delete navigator.compass.timers[id];
- }
- if (navigator.compass.timers.length == 0) {
- // stop the
- Cordova.exec(null, null, "org.apache.cordova.geolocation", "stopHeading", []);
- }
-};
-
-/** iOS only
- * Asynchronously fires when the heading changes from the last reading. The amount of distance
- * required to trigger the event is specified in the filter paramter.
- * @param {Function} successCallback The function to call each time the heading
- * data is available
- * @param {Function} errorCallback The function to call when there is an error
- * getting the heading data.
- * @param {HeadingOptions} options The options for getting the heading data
- * @param {filter} number of degrees change to trigger a callback with heading data (float)
- *
- * In iOS this function is more efficient than calling watchHeading with a frequency for updates.
- * Only one watchHeadingFilter can be in effect at one time. If a watchHeadingFilter is in effect, calling
- * getCurrentHeading or watchHeading will use the existing filter value for specifying heading change.
- */
-Compass.prototype.watchHeadingFilter = function(successCallback, errorCallback, options)
-{
-
- if (options === undefined || options.filter === undefined) {
- console.log("Compass Error: options.filter not specified");
- return;
- }
-
- // 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;
- }
- Cordova.exec(successCallback, errorCallback, "org.apache.cordova.geolocation", "watchHeadingFilter", [options]);
-}
-Compass.prototype.clearWatchFilter = function()
-{
- Cordova.exec(null, null, "org.apache.cordova.geolocation", "stopHeading", []);
-};
-
-Cordova.addConstructor(function()
-{
- if (typeof navigator.compass == "undefined")
- {
- navigator.compass = new Compass();
- }
-});
-};
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/contact.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/contact.js b/CordovaLib/javascripts/core/contact.js
deleted file mode 100644
index 86b8891..0000000
--- a/CordovaLib/javascripts/core/contact.js
+++ /dev/null
@@ -1,409 +0,0 @@
-if (!Cordova.hasResource("contact")) {
- Cordova.addResource("contact");
-
-
-/**
-* Contains information about a single contact.
-* @param {DOMString} id unique identifier
-* @param {DOMString} displayName
-* @param {ContactName} name
-* @param {DOMString} nickname
-* @param {ContactField[]} phoneNumbers array of phone numbers
-* @param {ContactField[]} emails array of email addresses
-* @param {ContactAddress[]} addresses array of addresses
-* @param {ContactField[]} ims instant messaging user ids
-* @param {ContactOrganization[]} organizations
-* @param {DOMString} birthday contact's birthday
-* @param {DOMString} note user notes about contact
-* @param {ContactField[]} photos
-* @param {Array.<ContactField>} categories
-* @param {ContactField[]} urls contact's web sites
-*/
-var Contact = function(id, displayName, name, nickname, phoneNumbers, emails, addresses,
- ims, organizations, birthday, note, photos, categories, urls) {
- this.id = id || null;
- this.displayName = displayName || null;
- this.name = name || null; // ContactName
- this.nickname = nickname || null;
- this.phoneNumbers = phoneNumbers || null; // ContactField[]
- this.emails = emails || null; // ContactField[]
- this.addresses = addresses || null; // ContactAddress[]
- this.ims = ims || null; // ContactField[]
- this.organizations = organizations || null; // ContactOrganization[]
- this.birthday = birthday || null; // JS Date
- this.note = note || null;
- this.photos = photos || null; // ContactField[]
- this.categories = categories || null;
- this.urls = urls || null; // ContactField[]
-};
-
-/**
-* Converts Dates to milliseconds before sending to iOS
-*/
-Contact.prototype.convertDatesOut = function()
-{
- var dates = new Array("birthday");
- for (var i=0; i<dates.length; i++){
- var value = this[dates[i]];
- if (value){
- if (!value instanceof Date){
- try {
- value = new Date(value);
- } catch(exception){
- value = null;
- }
- }
- if (value instanceof Date){
- value = value.valueOf();
- }
- this[dates[i]] = value;
- }
- }
-
-};
-/**
-* Converts milliseconds to JS Date when returning from iOS
-*/
-Contact.prototype.convertDatesIn = function()
-{
- var dates = new Array("birthday");
- for (var i=0; i<dates.length; i++){
- var value = this[dates[i]];
- if (value){
- try {
- this[dates[i]] = new Date(parseFloat(value));
- } catch (exception){
- console.log("exception creating date");
- }
- }
- }
-};
-/**
-* Removes contact from device storage.
-* @param successCB success callback
-* @param errorCB error callback (optional)
-*/
-Contact.prototype.remove = function(successCB, errorCB) {
- if (this.id == null) {
- var errorObj = new ContactError();
- errorObj.code = ContactError.UNKNOWN_ERROR;
- errorCB(errorObj);
- }
- else {
- Cordova.exec(successCB, errorCB, "org.apache.cordova.contacts", "remove", [{ "contact": this}]);
- }
-};
-/**
-* iOS ONLY
-* displays contact via iOS UI
-* NOT part of W3C spec so no official documentation
-*
-* @param errorCB error callback
-* @param options object
-* allowsEditing: boolean AS STRING
-* "true" to allow editing the contact
-* "false" (default) display contact
-*/
-Contact.prototype.display = function(errorCB, options) {
- if (this.id == null) {
- if (typeof errorCB == "function") {
- var errorObj = new ContactError();
- errorObj.code = ContactError.UNKNOWN_ERROR;
- errorCB(errorObj);
- }
- }
- else {
- Cordova.exec(null, errorCB, "org.apache.cordova.contacts","displayContact", [this.id, options]);
- }
-};
-
-/**
-* Creates a deep copy of this Contact.
-* With the contact ID set to null.
-* @return copy of this Contact
-*/
-Contact.prototype.clone = function() {
- var clonedContact = Cordova.clone(this);
- clonedContact.id = null;
- // Loop through and clear out any id's in phones, emails, etc.
- if (clonedContact.phoneNumbers) {
- for (i=0; i<clonedContact.phoneNumbers.length; i++) {
- clonedContact.phoneNumbers[i].id = null;
- }
- }
- if (clonedContact.emails) {
- for (i=0; i<clonedContact.emails.length; i++) {
- clonedContact.emails[i].id = null;
- }
- }
- if (clonedContact.addresses) {
- for (i=0; i<clonedContact.addresses.length; i++) {
- clonedContact.addresses[i].id = null;
- }
- }
- if (clonedContact.ims) {
- for (i=0; i<clonedContact.ims.length; i++) {
- clonedContact.ims[i].id = null;
- }
- }
- if (clonedContact.organizations) {
- for (i=0; i<clonedContact.organizations.length; i++) {
- clonedContact.organizations[i].id = null;
- }
- }
- if (clonedContact.photos) {
- for (i=0; i<clonedContact.photos.length; i++) {
- clonedContact.photos[i].id = null;
- }
- }
- if (clonedContact.urls) {
- for (i=0; i<clonedContact.urls.length; i++) {
- clonedContact.urls[i].id = null;
- }
- }
- return clonedContact;
-};
-
-/**
-* Persists contact to device storage.
-* @param successCB success callback
-* @param errorCB error callback - optional
-*/
-Contact.prototype.save = function(successCB, errorCB) {
- // don't modify the original contact
- var cloned = Cordova.clone(this);
- cloned.convertDatesOut();
- Cordova.exec(successCB, errorCB, "org.apache.cordova.contacts","save", [{"contact": cloned}]);
-};
-
-/**
-* Contact name.
-* @param formatted
-* @param familyName
-* @param givenName
-* @param middle
-* @param prefix
-* @param suffix
-*/
-var ContactName = function(formatted, familyName, givenName, middle, prefix, suffix) {
- this.formatted = formatted != "undefined" ? formatted : null;
- this.familyName = familyName != "undefined" ? familyName : null;
- this.givenName = givenName != "undefined" ? givenName : null;
- this.middleName = middle != "undefined" ? middle : null;
- this.honorificPrefix = prefix != "undefined" ? prefix : null;
- this.honorificSuffix = suffix != "undefined" ? suffix : null;
-};
-
-/**
-* Generic contact field.
-* @param type
-* @param value
-* @param pref
-* @param id
-*/
-var ContactField = function(type, value, pref, id) {
- this.type = type != "undefined" ? type : null;
- this.value = value != "undefined" ? value : null;
- this.pref = pref != "undefined" ? pref : null;
- this.id = id != "undefined" ? id : null;
-};
-
-/**
-* Contact address.
-* @param pref - boolean is primary / preferred address
-* @param type - string - work, home…..
-* @param formatted
-* @param streetAddress
-* @param locality
-* @param region
-* @param postalCode
-* @param country
-*/
-var ContactAddress = function(pref, type, formatted, streetAddress, locality, region, postalCode, country, id) {
- this.pref = pref != "undefined" ? pref : null;
- this.type = type != "undefined" ? type : null;
- this.formatted = formatted != "undefined" ? formatted : null;
- this.streetAddress = streetAddress != "undefined" ? streetAddress : null;
- this.locality = locality != "undefined" ? locality : null;
- this.region = region != "undefined" ? region : null;
- this.postalCode = postalCode != "undefined" ? postalCode : null;
- this.country = country != "undefined" ? country : null;
- this.id = id != "undefined" ? id : null;
-};
-
-/**
-* Contact organization.
-* @param pref - boolean is primary / preferred address
-* @param type - string - work, home…..
-* @param name
-* @param dept
-* @param title
-*/
-var ContactOrganization = function(pref, type, name, dept, title) {
- this.pref = pref != "undefined" ? pref : null;
- this.type = type != "undefined" ? type : null;
- this.name = name != "undefined" ? name : null;
- this.department = dept != "undefined" ? dept : null;
- this.title = title != "undefined" ? title : null;
-};
-
-/**
-* Contact account.
-* @param domain
-* @param username
-* @param userid
-*/
-/*var ContactAccount = function(domain, username, userid) {
- this.domain = domain != "undefined" ? domain : null;
- this.username = username != "undefined" ? username : null;
- this.userid = userid != "undefined" ? userid : null;
-}*/
-
-/**
-* Represents a group of Contacts.
-*/
-var Contacts = function() {
- this.inProgress = false;
- this.records = new Array();
-};
-/**
-* Returns an array of Contacts matching the search criteria.
-* @param fields that should be searched
-* @param successCB success callback
-* @param errorCB error callback (optional)
-* @param {ContactFindOptions} options that can be applied to contact searching
-* @return array of Contacts matching search criteria
-*/
-Contacts.prototype.find = function(fields, successCB, errorCB, options) {
- if (successCB === null) {
- throw new TypeError("You must specify a success callback for the find command.");
- }
- if (fields === null || fields === "undefined" || fields.length === "undefined" || fields.length <= 0) {
- if (typeof errorCB === "function") {
- errorCB({"code": ContactError.INVALID_ARGUMENT_ERROR});
- }
- } else {
- Cordova.exec(successCB, errorCB, "org.apache.cordova.contacts","search", [{"fields":fields, "findOptions":options}]);
- }
-};
-/**
-* need to turn the array of JSON strings representing contact objects into actual objects
-* @param array of JSON strings with contact data
-* @return call results callback with array of Contact objects
-* This function is called from objective C Contacts.search() method.
-*/
-Contacts.prototype._findCallback = function(pluginResult) {
- var contacts = new Array();
- try {
- for (var i=0; i<pluginResult.message.length; i++) {
- var newContact = navigator.contacts.create(pluginResult.message[i]);
- newContact.convertDatesIn();
- contacts.push(newContact);
- }
- pluginResult.message = contacts;
- } catch(e){
- console.log("Error parsing contacts: " +e);
- }
- return pluginResult;
-}
-
-/**
-* need to turn the JSON string representing contact object into actual object
-* @param JSON string with contact data
-* Call stored results function with Contact object
-* This function is called from objective C Contacts remove and save methods
-*/
-Contacts.prototype._contactCallback = function(pluginResult)
-{
- var newContact = null;
- if (pluginResult.message){
- try {
- newContact = navigator.contacts.create(pluginResult.message);
- newContact.convertDatesIn();
- } catch(e){
- console.log("Error parsing contact");
- }
- }
- pluginResult.message = newContact;
- return pluginResult;
-
-};
-/**
-* Need to return an error object rather than just a single error code
-* @param error code
-* Call optional error callback if found.
-* Called from objective c find, remove, and save methods on error.
-*/
-Contacts.prototype._errCallback = function(pluginResult)
-{
- var errorObj = new ContactError();
- errorObj.code = pluginResult.message;
- pluginResult.message = errorObj;
- return pluginResult;
-};
-// iPhone only api to create a new contact via the GUI
-Contacts.prototype.newContactUI = function(successCallback) {
- Cordova.exec(successCallback, null, "org.apache.cordova.contacts","newContact", []);
-};
-// iPhone only api to select a contact via the GUI
-Contacts.prototype.chooseContact = function(successCallback, options) {
- Cordova.exec(successCallback, null, "org.apache.cordova.contacts","chooseContact", options);
-};
-
-
-/**
-* This function creates a new contact, but it does not persist the contact
-* to device storage. To persist the contact to device storage, invoke
-* contact.save().
-* @param properties an object who's properties will be examined to create a new Contact
-* @returns new Contact object
-*/
-Contacts.prototype.create = function(properties) {
- var i;
- var contact = new Contact();
- for (i in properties) {
- if (contact[i] !== 'undefined') {
- contact[i] = properties[i];
- }
- }
- return contact;
-};
-
-/**
- * ContactFindOptions.
- * @param filter used to match contacts against
- * @param multiple boolean used to determine if more than one contact should be returned
- */
-var ContactFindOptions = function(filter, multiple, updatedSince) {
- this.filter = filter || '';
- this.multiple = multiple || false;
-};
-
-/**
- * ContactError.
- * An error code assigned by an implementation when an error has occurred
- */
-var ContactError = function() {
- this.code=null;
-};
-
-/**
- * Error codes
- */
-ContactError.UNKNOWN_ERROR = 0;
-ContactError.INVALID_ARGUMENT_ERROR = 1;
-ContactError.TIMEOUT_ERROR = 2;
-ContactError.PENDING_OPERATION_ERROR = 3;
-ContactError.IO_ERROR = 4;
-ContactError.NOT_SUPPORTED_ERROR = 5;
-ContactError.PERMISSION_DENIED_ERROR = 20;
-
-/**
- * Add the contact interface into the browser.
- */
-Cordova.addConstructor(function() {
- if(typeof navigator.contacts == "undefined") {
- navigator.contacts = new Contacts();
- }
-});
-};
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/cordova.js.base
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/cordova.js.base b/CordovaLib/javascripts/core/cordova.js.base
deleted file mode 100644
index be1cbdf..0000000
--- a/CordovaLib/javascripts/core/cordova.js.base
+++ /dev/null
@@ -1,548 +0,0 @@
-/*
- * Some base contributions
- * Copyright (c) 2011, Proyectos Equis Ka, S.L.
- */
-
-if (typeof Cordova === "undefined") {
-
-if (typeof(DeviceInfo) !== 'object'){
- DeviceInfo = {};
-}
-/**
- * This represents the Cordova API itself, and provides a global namespace for accessing
- * information about the state of Cordova.
- * @class
- */
-Cordova = {
- // This queue holds the currently executing command and all pending
- // commands executed with Cordova.exec().
- commandQueue: [],
- // Indicates if we're currently in the middle of flushing the command
- // queue on the native side.
- commandQueueFlushing: false,
- _constructors: [],
- documentEventHandler: {}, // Collection of custom document event handlers
- windowEventHandler: {}
-};
-
-/**
- * List of resource files loaded by Cordova.
- * This is used to ensure JS and other files are loaded only once.
- */
-Cordova.resources = {base: true};
-
-/**
- * Determine if resource has been loaded by Cordova
- *
- * @param name
- * @return
- */
-Cordova.hasResource = function(name) {
- return Cordova.resources[name];
-};
-
-/**
- * Add a resource to list of loaded resources by Cordova
- *
- * @param name
- */
-Cordova.addResource = function(name) {
- Cordova.resources[name] = true;
-};
-
-/**
- * Boolean flag indicating if the Cordova API is available and initialized.
- */ // TODO: Remove this, it is unused here ... -jm
-Cordova.available = DeviceInfo.uuid != undefined;
-
-/**
- * Add an initialization function to a queue that ensures it will run and initialize
- * application constructors only once Cordova has been initialized.
- * @param {Function} func The function callback you want run once Cordova is initialized
- */
-Cordova.addConstructor = function(func) {
- var state = document.readyState;
- if ( ( state == 'loaded' || state == 'complete' ) && DeviceInfo.uuid != null )
- {
- func();
- }
- else
- {
- Cordova._constructors.push(func);
- }
-};
-
-(function()
- {
- var timer = setInterval(function()
- {
-
- var state = document.readyState;
-
- if ( ( state == 'loaded' || state == 'complete' ) && DeviceInfo.uuid != null )
- {
- clearInterval(timer); // stop looking
- // run our constructors list
- while (Cordova._constructors.length > 0)
- {
- var constructor = Cordova._constructors.shift();
- try
- {
- constructor();
- }
- catch(e)
- {
- if (typeof(console['log']) == 'function')
- {
- console.log("Failed to run constructor: " + console.processMessage(e));
- }
- else
- {
- alert("Failed to run constructor: " + e.message);
- }
- }
- }
- // all constructors run, now fire the deviceready event
- var e = document.createEvent('Events');
- e.initEvent('deviceready');
- document.dispatchEvent(e);
- }
- }, 1);
-})();
-
-// session id for calls
-Cordova.sessionKey = 0;
-
-// centralized callbacks
-Cordova.callbackId = 0;
-Cordova.callbacks = {};
-Cordova.callbackStatus = {
- NO_RESULT: 0,
- OK: 1,
- CLASS_NOT_FOUND_EXCEPTION: 2,
- ILLEGAL_ACCESS_EXCEPTION: 3,
- INSTANTIATION_EXCEPTION: 4,
- MALFORMED_URL_EXCEPTION: 5,
- IO_EXCEPTION: 6,
- INVALID_ACTION: 7,
- JSON_EXCEPTION: 8,
- ERROR: 9
- };
-
-/**
- * Creates a gap bridge iframe used to notify the native code about queued
- * commands.
- *
- * @private
- */
-Cordova.createGapBridge = function() {
- gapBridge = document.createElement("iframe");
- gapBridge.setAttribute("style", "display:none;");
- gapBridge.setAttribute("height","0px");
- gapBridge.setAttribute("width","0px");
- gapBridge.setAttribute("frameborder","0");
- document.documentElement.appendChild(gapBridge);
- return gapBridge;
-}
-
-/**
- * Execute a Cordova command by queuing it and letting the native side know
- * there are queued commands. The native side will then request all of the
- * queued commands and execute them.
- *
- * Arguments may be in one of two formats:
- *
- * FORMAT ONE (preferable)
- * The native side will call Cordova.callbackSuccess or
- * Cordova.callbackError, depending upon the result of the action.
- *
- * @param {Function} success The success callback
- * @param {Function} fail The fail callback
- * @param {String} service The name of the service to use
- * @param {String} action The name of the action to use
- * @param {String[]} [args] Zero or more arguments to pass to the method
- *
- * FORMAT TWO
- * @param {String} command Command to be run in Cordova, e.g.
- * "ClassName.method"
- * @param {String[]} [args] Zero or more arguments to pass to the method
- * object parameters are passed as an array object
- * [object1, object2] each object will be passed as
- * JSON strings
- */
-Cordova.exec = function() {
- if (!Cordova.available) {
- alert("ERROR: Attempting to call Cordova.exec()"
- +" before 'deviceready'. Ignoring.");
- return;
- }
-
- var successCallback, failCallback, service, action, actionArgs;
- var callbackId = null;
- if (typeof arguments[0] !== "string") {
- // FORMAT ONE
- successCallback = arguments[0];
- failCallback = arguments[1];
- service = arguments[2];
- action = arguments[3];
- actionArgs = arguments[4];
-
- // Since we need to maintain backwards compatibility, we have to pass
- // an invalid callbackId even if no callback was provided since plugins
- // will be expecting it. The Cordova.exec() implementation allocates
- // an invalid callbackId and passes it even if no callbacks were given.
- callbackId = 'INVALID';
- } else {
- // FORMAT TWO
- splitCommand = arguments[0].split(".");
- action = splitCommand.pop();
- service = splitCommand.join(".");
- actionArgs = Array.prototype.splice.call(arguments, 1);
- }
-
- // Start building the command object.
- var command = {
- className: service,
- methodName: action,
- arguments: []
- };
-
- // Register the callbacks and add the callbackId to the positional
- // arguments if given.
- if (successCallback || failCallback) {
- callbackId = service + Cordova.callbackId++;
- Cordova.callbacks[callbackId] =
- {success:successCallback, fail:failCallback};
- }
- if (callbackId != null) {
- command.arguments.push(callbackId);
- }
-
- for (var i = 0; i < actionArgs.length; ++i) {
- var arg = actionArgs[i];
- if (arg == undefined || arg == null) { // nulls are pushed to the args now (becomes NSNull)
- command.arguments.push(arg);
- } else if (typeof(arg) == 'object') {
- command.options = arg;
- } else {
- command.arguments.push(arg);
- }
- }
-
- // Stringify and queue the command. We stringify to command now to
- // effectively clone the command arguments in case they are mutated before
- // the command is executed.
- Cordova.commandQueue.push(JSON.stringify(command));
-
- // If the queue length is 1, then that means it was empty before we queued
- // the given command, so let the native side know that we have some
- // commands to execute, unless the queue is currently being flushed, in
- // which case the command will be picked up without notification.
- if (Cordova.commandQueue.length == 1 && !Cordova.commandQueueFlushing) {
- if (!Cordova.gapBridge) {
- Cordova.gapBridge = Cordova.createGapBridge();
- }
-
- Cordova.gapBridge.src = "gap://ready";
- }
-}
-
-/**
- * Called by native code to retrieve all queued commands and clear the queue.
- */
-Cordova.getAndClearQueuedCommands = function() {
- json = JSON.stringify(Cordova.commandQueue);
- Cordova.commandQueue = [];
- return json;
-}
-
-/**
- * Called by native code when returning successful result from an action.
- *
- * @param callbackId
- * @param args
- * args.status - Cordova.callbackStatus
- * args.message - return value
- * args.keepCallback - 0 to remove callback, 1 to keep callback in Cordova.callbacks[]
- */
-Cordova.callbackSuccess = function(callbackId, args) {
- if (Cordova.callbacks[callbackId]) {
-
- // If result is to be sent to callback
- if (args.status == Cordova.callbackStatus.OK) {
- try {
- if (Cordova.callbacks[callbackId].success) {
- Cordova.callbacks[callbackId].success(args.message);
- }
- }
- catch (e) {
- console.log("Error in success callback: "+callbackId+" = "+e);
- }
- }
-
- // Clear callback if not expecting any more results
- if (!args.keepCallback) {
- delete Cordova.callbacks[callbackId];
- }
- }
-};
-
-/**
- * Called by native code when returning error result from an action.
- *
- * @param callbackId
- * @param args
- */
-Cordova.callbackError = function(callbackId, args) {
- if (Cordova.callbacks[callbackId]) {
- try {
- if (Cordova.callbacks[callbackId].fail) {
- Cordova.callbacks[callbackId].fail(args.message);
- }
- }
- catch (e) {
- console.log("Error in error callback: "+callbackId+" = "+e);
- }
-
- // Clear callback if not expecting any more results
- if (!args.keepCallback) {
- delete Cordova.callbacks[callbackId];
- }
- }
-};
-
-
-/**
- * Does a deep clone of the object.
- *
- * @param obj
- * @return
- */
-Cordova.clone = function(obj) {
- if(!obj) {
- return obj;
- }
-
- if(obj instanceof Array){
- var retVal = new Array();
- for(var i = 0; i < obj.length; ++i){
- retVal.push(Cordova.clone(obj[i]));
- }
- return retVal;
- }
-
- if (obj instanceof Function) {
- return obj;
- }
-
- if(!(obj instanceof Object)){
- return obj;
- }
-
- if (obj instanceof Date) {
- return obj;
- }
-
- retVal = new Object();
- for(i in obj){
- if(!(i in retVal) || retVal[i] != obj[i]) {
- retVal[i] = Cordova.clone(obj[i]);
- }
- }
- return retVal;
-};
-
-// Intercept calls to document.addEventListener
-Cordova.m_document_addEventListener = document.addEventListener;
-
-// Intercept calls to window.addEventListener
-Cordova.m_window_addEventListener = window.addEventListener;
-
-/**
- * Add a custom window event handler.
- *
- * @param {String} event The event name that callback handles
- * @param {Function} callback The event handler
- */
-Cordova.addWindowEventHandler = function(event, callback) {
- Cordova.windowEventHandler[event] = callback;
-}
-
-/**
- * Add a custom document event handler.
- *
- * @param {String} event The event name that callback handles
- * @param {Function} callback The event handler
- */
-Cordova.addDocumentEventHandler = function(event, callback) {
- Cordova.documentEventHandler[event] = callback;
-}
-
-/**
- * Intercept adding document event listeners and handle our own
- *
- * @param {Object} evt
- * @param {Function} handler
- * @param capture
- */
-document.addEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
-
- // If subscribing to an event that is handled by a plugin
- if (typeof Cordova.documentEventHandler[e] !== "undefined") {
- if (Cordova.documentEventHandler[e](e, handler, true)) {
- return; // Stop default behavior
- }
- }
-
- Cordova.m_document_addEventListener.call(document, evt, handler, capture);
-};
-
-/**
- * Intercept adding window event listeners and handle our own
- *
- * @param {Object} evt
- * @param {Function} handler
- * @param capture
- */
-window.addEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
-
- // If subscribing to an event that is handled by a plugin
- if (typeof Cordova.windowEventHandler[e] !== "undefined") {
- if (Cordova.windowEventHandler[e](e, handler, true)) {
- return; // Stop default behavior
- }
- }
-
- Cordova.m_window_addEventListener.call(window, evt, handler, capture);
-};
-
-// Intercept calls to document.removeEventListener and watch for events that
-// are generated by Cordova native code
-Cordova.m_document_removeEventListener = document.removeEventListener;
-
-// Intercept calls to window.removeEventListener
-Cordova.m_window_removeEventListener = window.removeEventListener;
-
-/**
- * Intercept removing document event listeners and handle our own
- *
- * @param {Object} evt
- * @param {Function} handler
- * @param capture
- */
-document.removeEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
-
- // If unsubcribing from an event that is handled by a plugin
- if (typeof Cordova.documentEventHandler[e] !== "undefined") {
- if (Cordova.documentEventHandler[e](e, handler, false)) {
- return; // Stop default behavior
- }
- }
-
- Cordova.m_document_removeEventListener.call(document, evt, handler, capture);
-};
-
-/**
- * Intercept removing window event listeners and handle our own
- *
- * @param {Object} evt
- * @param {Function} handler
- * @param capture
- */
-window.removeEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
-
- // If unsubcribing from an event that is handled by a plugin
- if (typeof Cordova.windowEventHandler[e] !== "undefined") {
- if (Cordova.windowEventHandler[e](e, handler, false)) {
- return; // Stop default behavior
- }
- }
-
- Cordova.m_window_removeEventListener.call(window, evt, handler, capture);
-};
-
-/**
- * Method to fire document event
- *
- * @param {String} type The event type to fire
- * @param {Object} data Data to send with event
- */
-Cordova.fireDocumentEvent = function(type, data) {
- var e = document.createEvent('Events');
- e.initEvent(type);
- if (data) {
- for (var i in data) {
- e[i] = data[i];
- }
- }
- document.dispatchEvent(e);
-};
-
-/**
- * Method to fire window event
- *
- * @param {String} type The event type to fire
- * @param {Object} data Data to send with event
- */
-Cordova.fireWindowEvent = function(type, data) {
- var e = document.createEvent('Events');
- e.initEvent(type);
- if (data) {
- for (var i in data) {
- e[i] = data[i];
- }
- }
- window.dispatchEvent(e);
-};
-
-/**
- * Method to fire event from native code
- * Leaving this generic version to handle problems with iOS 3.x. Is currently used by orientation and battery events
- * Remove when iOS 3.x no longer supported and call fireWindowEvent or fireDocumentEvent directly
- */
-Cordova.fireEvent = function(type, target, data) {
- var e = document.createEvent('Events');
- e.initEvent(type);
- if (data) {
- for (var i in data) {
- e[i] = data[i];
- }
- }
- target = target || document;
- if (target.dispatchEvent === undefined) { // ie window.dispatchEvent is undefined in iOS 3.x
- target = document;
- }
-
- target.dispatchEvent(e);
-};
-/**
- * Create a UUID
- *
- * @return
- */
-Cordova.createUUID = function() {
- return Cordova.UUIDcreatePart(4) + '-' +
- Cordova.UUIDcreatePart(2) + '-' +
- Cordova.UUIDcreatePart(2) + '-' +
- Cordova.UUIDcreatePart(2) + '-' +
- Cordova.UUIDcreatePart(6);
-};
-
-Cordova.UUIDcreatePart = function(length) {
- var uuidpart = "";
- for (var i=0; i<length; i++) {
- var uuidchar = parseInt((Math.random() * 256)).toString(16);
- if (uuidchar.length == 1) {
- uuidchar = "0" + uuidchar;
- }
- uuidpart += uuidchar;
- }
- return uuidpart;
-};
-};
-
-
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/debugconsole.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/debugconsole.js b/CordovaLib/javascripts/core/debugconsole.js
deleted file mode 100644
index 5f0467d..0000000
--- a/CordovaLib/javascripts/core/debugconsole.js
+++ /dev/null
@@ -1,108 +0,0 @@
-if (!Cordova.hasResource("debugconsole")) {
- Cordova.addResource("debugconsole");
-
-/**
- * This class provides access to the debugging console.
- * @constructor
- */
-var DebugConsole = function() {
- this.winConsole = window.console;
- this.logLevel = DebugConsole.INFO_LEVEL;
-}
-
-// from most verbose, to least verbose
-DebugConsole.ALL_LEVEL = 1; // same as first level
-DebugConsole.INFO_LEVEL = 1;
-DebugConsole.WARN_LEVEL = 2;
-DebugConsole.ERROR_LEVEL = 4;
-DebugConsole.NONE_LEVEL = 8;
-
-DebugConsole.prototype.setLevel = function(level) {
- this.logLevel = level;
-};
-
-/**
- * Utility function for rendering and indenting strings, or serializing
- * objects to a string capable of being printed to the console.
- * @param {Object|String} message The string or object to convert to an indented string
- * @private
- */
-DebugConsole.prototype.processMessage = function(message, maxDepth) {
- if (maxDepth === undefined) maxDepth = 0;
- if (typeof(message) != 'object') {
- return (this.isDeprecated ? "WARNING: debug object is deprecated, please use console object \n" + message : message);
- } else {
- /**
- * @function
- * @ignore
- */
- function indent(str) {
- return str.replace(/^/mg, " ");
- }
- /**
- * @function
- * @ignore
- */
- function makeStructured(obj, depth) {
- var str = "";
- for (var i in obj) {
- try {
- if (typeof(obj[i]) == 'object' && depth < maxDepth) {
- str += i + ":\n" + indent(makeStructured(obj[i])) + "\n";
- } else {
- str += i + " = " + indent(String(obj[i])).replace(/^ /, "") + "\n";
- }
- } catch(e) {
- str += i + " = EXCEPTION: " + e.message + "\n";
- }
- }
- return str;
- }
-
- return ("Object:\n" + makeStructured(message, maxDepth));
- }
-};
-
-/**
- * Print a normal log message to the console
- * @param {Object|String} message Message or object to print to the console
- */
-DebugConsole.prototype.log = function(message, maxDepth) {
- if (Cordova.available && this.logLevel <= DebugConsole.INFO_LEVEL)
- Cordova.exec(null, null, 'org.apache.cordova.debugconsole', 'log',
- [ this.processMessage(message, maxDepth), { logLevel: 'INFO' } ]
- );
- else
- this.winConsole.log(message);
-};
-
-/**
- * Print a warning message to the console
- * @param {Object|String} message Message or object to print to the console
- */
-DebugConsole.prototype.warn = function(message, maxDepth) {
- if (Cordova.available && this.logLevel <= DebugConsole.WARN_LEVEL)
- Cordova.exec(null, null, 'org.apache.cordova.debugconsole', 'log',
- [ this.processMessage(message, maxDepth), { logLevel: 'WARN' } ]
- );
- else
- this.winConsole.error(message);
-};
-
-/**
- * Print an error message to the console
- * @param {Object|String} message Message or object to print to the console
- */
-DebugConsole.prototype.error = function(message, maxDepth) {
- if (Cordova.available && this.logLevel <= DebugConsole.ERROR_LEVEL)
- Cordova.exec(null, null, 'org.apache.cordova.debugconsole', 'log',
- [ this.processMessage(message, maxDepth), { logLevel: 'ERROR' } ]
- );
- else
- this.winConsole.error(message);
-};
-
-Cordova.addConstructor(function() {
- window.console = new DebugConsole();
-});
-};
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ab2afcee/CordovaLib/javascripts/core/device.js
----------------------------------------------------------------------
diff --git a/CordovaLib/javascripts/core/device.js b/CordovaLib/javascripts/core/device.js
deleted file mode 100644
index c7b4cc2..0000000
--- a/CordovaLib/javascripts/core/device.js
+++ /dev/null
@@ -1,37 +0,0 @@
-if (!Cordova.hasResource("device")) {
- Cordova.addResource("device");
-
-/**
- * this represents the mobile device, and provides properties for inspecting the model, version, UUID of the
- * phone, etc.
- * @constructor
- */
-Device = function()
-{
- this.platform = null;
- this.version = null;
- this.name = null;
- this.cordova = null;
- this.uuid = null;
- try
- {
- this.platform = DeviceInfo.platform;
- this.version = DeviceInfo.version;
- this.name = DeviceInfo.name;
- this.cordova = DeviceInfo.gap;
- this.uuid = DeviceInfo.uuid;
-
- }
- catch(e)
- {
- // TODO:
- }
- this.available = Cordova.available = this.uuid != null;
-}
-
-Cordova.addConstructor(function() {
- if (typeof navigator.device === "undefined") {
- navigator.device = window.device = new Device();
- }
-});
-};