/** * @private */Ext.define('Ext.device.device.Cordova', { alternateClassName: 'Ext.device.device.PhoneGap', extend: 'Ext.device.device.Abstract', availableListeners: [ 'pause', 'resume', 'backbutton', 'batterycritical', 'batterylow', 'batterystatus', 'menubutton', 'searchbutton', 'startcallbutton', 'endcallbutton', 'volumeupbutton', 'volumedownbutton' ], constructor: function() { // We can't get the device details until the device is ready, so lets wait. if (Ext.isReady) { this.onReady(); } else { Ext.onReady(this.onReady, this, { single: true }); } }, /** * @property {String} cordova * Returns the version of Cordova running on the device. * * alert('Device cordova: ' + Ext.device.Device.cordova); */ /** * @property {String} version * Returns the operating system version. * * alert('Device Version: ' + Ext.device.Device.version); */ /** * @property {String} model * Returns the device's model name. * * alert('Device Model: ' + Ext.device.Device.model); */ /** * @event pause * Fires when the application goes into the background */ /** * @event resume * Fires when the application goes into the foreground */ /** * @event batterycritical * This event that fires when a Cordova application detects the percentage of battery * has reached the critical battery threshold. */ /** * @event batterylow * This event that fires when a Cordova application detects the percentage of battery * has reached the low battery threshold. */ /** * @event batterystatus * This event that fires when a Cordova application detects the percentage of battery * has changed by at least 1 percent. */ /** * @event backbutton * This is an event that fires when the user presses the back button. */ /** * @event menubutton * This is an event that fires when the user presses the menu button. */ /** * @event searchbutton * This is an event that fires when the user presses the search button. */ /** * @event startcallbutton * This is an event that fires when the user presses the start call button. */ /** * @event endcallbutton * This is an event that fires when the user presses the end call button. */ /** * @event volumeupbutton * This is an event that fires when the user presses the volume up button. */ /** * @event volumedownbutton * This is an event that fires when the user presses the volume down button. */ onReady: function() { var me = this, device = window.device; me.name = device.name || device.model; me.cordova = device.cordova; me.platform = device.platform || Ext.os.name; me.uuid = device.uuid; me.version = device.version; me.model = device.model; }, privates: { doAddListener: function(name) { var me = this; if (!me.addedListeners) { me.addedListeners = []; } if (me.availableListeners.indexOf(name) != -1 && me.addedListeners.indexOf(name) == -1) { // Add the listeners me.addedListeners.push(name); document.addEventListener(name, function() { me.fireEvent(name, me); }); } Ext.device.Device.mixins.observable.doAddListener.apply(Ext.device.Device.mixins.observable, arguments); } }});