Commit Graph

65 Commits

Author SHA1 Message Date
macdonst
d2b329636f Fixing license header in com.phonegap.api.PluginManager 2012-03-29 15:08:44 -04:00
Joe Bowser
79935d31ef Putting back the CordovaInterface work after talking with Simon 2012-02-29 09:34:46 -08:00
Joe Bowser
403b87b68b Reverting interface change, not enough time for testing, need to remove it manually 2012-02-28 16:30:25 -08:00
Joe Bowser
040619cd61 Moved the CordovaInterface over to master, doing this before working on CordovaJS 2012-02-17 13:11:15 -08:00
macdonst
9aa1cd756a Refactor out the Java casting code
When we return JSON to the Java side it does not have the proper methods such as Contact.save() so we need to cast the JSON to the correct JS object. This used to be done from the Java layer calling the right method to cast the JSON. In this new approach the JavaScript layer will no what needs to be cast and call it's own internal function to do the cast.
2012-02-09 16:41:26 -05:00
Joe Bowser
77547f8826 Changing to CordovaInterface in preparation of CordovaWebView 2012-02-06 14:13:34 -08:00
macdonst
d8d7c29afe Adding com.phonegap.api stubs for legacy user created plugins 2012-02-06 10:04:02 -05:00
macdonst
664a061d10 Rename to Cordova 2012-02-03 10:38:40 -05:00
Bryce Curtis
80d0a0cb4c Change API to postMessage() to call a plugin's onMessage() method. 2011-11-25 14:38:07 -08:00
Bryce Curtis
bfef72a7c4 Add onload attribute to plugin in plugins.xml to create the plugin at load time instead of lazy loading. 2011-11-15 14:29:32 -06:00
Bryce Curtis
827af8a920 Deprecate addService(). 2011-11-09 23:12:53 -06:00
Bryce Curtis
0bbcf5cfd2 Add onMessage(id, data) to plugin API.
A solution was needed to notify the audio player to pause when a phone call comes in. The option was to add a specific onPhone() method or generalize it. Since there are other "events" that are useful to plugins, a generalized solution was used. It is also extensible without changing the plugin API again.

Any plugin can call DroidGap.onMessage() to send a message/event to all other plugins. NetworkManager was updated to send changes in connection status to plugins, so they can intelligently handle lost connections.
2011-11-09 10:34:49 -06:00
Bryce Curtis
141b8355ac Don't fire resume upon init - only when returning from background.
Lifecycle behavior for PhoneGap app:
window.onload = loading html page
pause = html page entering background (not displayed)
resume = html page entering foreground (displayed)
window.onunload = leaving html page
2011-11-04 13:40:51 -07:00
Joe Bowser
5a40613ccc Switching to ASF header for Callback 2011-10-27 12:04:54 -07:00
Bryce Curtis
bd7ed19b52 Load multi-page apps in same webview and update pause/resume for consistency.
1. Make handling of multi-page apps consistent with iOS and Blackberry to load into same webview (instead of starting a new activity).

2. Make lifecycle consistent.  pause is called when going into background, resume is called when coming into foreground.  It is no longer called when loading or leaving an HTML page.  Use window.onload/onunload to get these notifications.
2011-10-21 16:29:55 -05:00
Bryce Curtis
bb2bd22fad Correct log level comparison. 2011-10-03 10:29:14 -05:00
Bryce Curtis
6b29787df7 Merge pull request #247 from brycecurtis/LOG
Formalize logging with printf-type optimization.
2011-10-03 08:24:13 -07:00
Bryce Curtis
a4d66c63a4 Call the initial onResume() on a plugin when it is created. This corrects the lifecycle behavior for plugins. 2011-09-28 22:40:53 -05:00
Bryce Curtis
6a9253e928 Formalize logging with printf-type optimization. Wrap Android log facilities instead of using System.out.println(). 2011-09-28 22:19:23 -05:00
Bryce Curtis
025577c41d Add comment for method onOverrideUrlLoading() 2011-09-28 21:36:43 -05:00
Dave Johnson
e41746b6a8 Add overrideUrlLoading overriding ... yeah ... to plugins by the plugin adding a <url-filter.../> and implmenting the onOverrideUrlLoading(...) method 2011-09-06 14:15:45 -07:00
Don Coleman
3de2084af2 write error to log when plugins.xml is missing 2011-07-15 23:45:32 -04:00
Bryce Curtis
6c65a6a016 Make sure we load the correct resource id for plugins.xml. 2011-07-11 22:56:20 -05:00
Bryce Curtis
0a7a77e77b Accept IPlugin for result callback when starting activities for result. 2011-07-07 14:11:03 -05:00
Dave Johnson
090890b22a Update PluginManager to accept plugins that implement IPlugin rather than extend Plugin 2011-07-07 00:12:44 -07:00
Bryce Curtis
3bf48f82af Merge pull request #136 from brycecurtis/plugins
Loading plugins from res/xml/plugins.xml
2011-07-06 11:12:20 -07:00
Bryce Curtis
9d5aa9406c Loading plugins from res/xml/plugins.xml 2011-07-05 23:21:32 -05:00
Dave Johnson
0b1e760fc1 Add better support for Activity result callbacks from plugins. Add some sugar for calling success / error callbacks from plugins 2011-07-05 14:13:55 -07:00
Bryce Curtis
05eacf4792 Always call plugin's onPause/onResume with multitasking flag when these lifecycle events occur in activity. It is up to the plugin to handle as necessary. 2011-06-24 14:08:46 -07:00
Kevin Griffin
435c903baf formatting - sigh 2011-06-24 14:08:46 -07:00
Joe Bowser
7bc0d624ac Fixing conflict 2011-06-24 14:08:26 -07:00
macdonst
0c3a8fb9f7 File API: System and Directories
http://www.w3.org/TR/file-system-api/

User can retrieve PERSISTENT and TEMPORARY file systems, list their
contents, and manipulate files and directories within them.

Modify existing FileWriter implementation
-----------------------------------------

  - Change the way user creates a FileWriter.  User must either pass a
    File object to the FileWriter constructor, or use the
    FileEntry.createWriter() method.

  - Drop support for the 'filePath' and 'append' parameters in the
    FileWriter constructor.  The file path is determined from either the
    File object passed to the FileWriter constructor, or the FileEntry
    object used to create the FileWriter.  To append to a file, use the
    FileWriter object's seek method:

    // writer is a FileWriter object
    // seek to length of file to append
    writer.seek(writer.length);

Replace FileMgr JavaScript APIs not specified in any File API spec
------------------------------------------------------------------

  - Remove navigator.fileMgr.createDirectory(dirName) function.  To
    create a directory, use the DirectoryEntry.getDirectory() method,
    which is part of the File API: Directories and System spec.  Set
    the Flags.create to 'true':

    // directory is a DirectoryEntry object
    directory.getDirectory(path, {create:true}, successCB, failCB);

  - Remove navigator.fileMgr.getRootPaths() function.  To retrieve the
    root file systems, use the window.requestFileSystem() function,
    which is part of the File API: Directories and System spec.

  - Remove navigator.fileMgr.getFileProperties(fileName) function.  To
    get the properties of a file, use the FileEntry.file() method, which
    is part of the File API: Directories and System spec.

  - Remove navigator.fileMgr.deleteFile(fileName) function.  To delete a
    file, use the Entry.remove() method, which is part of the File API:
    Directories and System spec.

  - Remove navigator.fileMgr.deleteDirectory(dirName) function.  To
    delete a directory, use the Entry.remove() (if it is empty), or
    DirectoryEntry.removeRecursively() methods, which are part of the
    File API: Directories and System spec.

Clean up existing FileManager native code.  Move some functionality to
file utility class.
2011-03-05 04:26:31 +08:00
Bryce Curtis
afc7e605ff Fix bug when not doing cast - temp isn't defined. 2010-11-20 21:23:15 -06:00
macdonst
1c5aa6cd00 Adding a cast for contacts.find() 2010-11-20 01:42:52 +08:00
macdonst
5dcac6d7fe Fixing issue in File Reader/Writer when newlines in file 2010-11-16 13:30:18 -05:00
Bryce Curtis
b66535a17d Introduce PhonegapActivity class to separate plugin development from base Phonegap. 2010-11-06 03:10:28 +08:00
Bryce Curtis
577284b960 Remove unneeded debug log statements. 2010-10-28 16:28:24 -05:00
Bryce Curtis
37a9307681 Enable JS callbacks to be kept around for multiple callbacks from Java. 2010-10-27 21:33:49 +08:00
Bryce Curtis
bc1e039ea1 Use polling instead of XHR for callbacks from Java to JavaScript when device has a proxy set. 2010-10-26 15:09:54 -05:00
Bryce Curtis
f63b8140af Add quotes when returning status message. 2010-10-25 14:59:23 -05:00
Bryce Curtis
5647e54399 Add PluginResult status values to handle RESULT_TO_BE_SENT, NEXT_RESULT, NO_MORE_RESULTS . 2010-10-25 14:33:48 -05:00
Bryce Curtis
de23753204 Update license and copyright notices in each source file. PhoneGap is licensed under modified BSD and MIT (2008). 2010-10-18 15:31:16 -05:00
Dave Johnson
08963b5e5f Add IPlugin to isPhoneGapPlugin check 2010-10-12 23:36:08 +01:00
Dave Johnson
522a7225db Change PluginManager.isPhoneGapPlugin() to be much shorter like on the BlackBerry 2010-10-12 23:18:11 +01:00
Bryce Curtis
9adb85a64b Add callbackId to Plugin.execute() so result can be sent back when overlapping calls to same plugin occur. 2010-10-06 12:56:34 -05:00
Bryce Curtis
e3cef16629 Remove getClassForService() and make addPlugin() private. 2010-10-06 12:56:34 -05:00
Dave Johnson
5a2398dbea Add call to setCallbackdId in addPlugin 2010-10-06 12:56:34 -05:00
Dave Johnson
f1421bc724 Add callbackId and JS callback sugar to plugin class and interface 2010-10-06 12:56:34 -05:00
Dave Johnson
7d6ffc676d Update PluginManager to not call Class.forName twice 2010-10-06 12:56:34 -05:00
Bryce Curtis
385be26046 Check plugin against new Plugin and IPlugin to determine if valid plugin class. 2010-10-06 12:56:34 -05:00