Commit Graph

311 Commits

Author SHA1 Message Date
macdonst
6e82ec4152 Allow internal SD Card to be used as storage 2012-01-25 16:34:46 -05:00
macdonst
1d5af102c7 Camera default destination should be FILE_URI 2012-01-05 03:29:55 +08:00
macdonst
29001eeb3a Merge pull request #42 from aflx/download
added download() to the filetransfer
2011-12-01 08:20:04 -08:00
Alexander Keller
f387720e54 FileTransfer returns JSONObject with code, source and target for upload and download 2011-11-30 09:15:01 +01:00
macdonst
e02322b66b Remove addWhiteList from public API 2011-11-29 03:47:49 +08:00
Alexander Keller
8904c67fb5 added download() to the filetransfer 2011-11-26 18:16:44 +01:00
macdonst
63ae953432 Fix for issue #281 of phonegap/phonegap-android: Detect for localStorage if Java has disabled it 2011-11-23 03:50:26 +08:00
macdonst
5406d6c98f Linting the JS code 2011-11-17 04:38:11 +08:00
Bryce Curtis
0caca9ae55 Remove old code. 2011-11-09 15:46:45 -06:00
macdonst
db0a1919f3 Remove PhoneGap.stringify, replace with JSON.stringify
Since we don't support Android 1.5/1.6 anymore we don't need to check to see if JSON.stringify is around as it is included in Android 2.1+. By removing this check for JSON.stringify we remove two conditional checks on each call to PhoneGap.exec.

As well we get rid of 60 lines of code which are currently bloating phonegap.js.base.
2011-11-04 13:40:52 -07: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
7244a5a727 Merge branch 'master' of github.com:callback/callback-android 2011-11-02 13:10:50 -07:00
Bryce Curtis
e4a5000f9e This is an informative message, not an error message. It is normal to get this when leaving a page. 2011-10-31 20:39:42 -05:00
Bryce Curtis
fd07cfc461 Update version to 1.2.0. 2011-10-31 17:29:08 -05:00
Bryce Curtis
d1ec1f7693 Don't fire resume at app startup. 2011-10-31 14:18:32 -05:00
Joe Bowser
a35a33c05e Adding the Apache Headers 2011-10-27 14:04:39 -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
macdonst
551f0f7e4a Normalize MediaError's with iOS 2011-10-19 15:22:50 -04:00
macdonst
369d140040 Return MediaError object instead of value 2011-10-19 15:06:36 -04:00
Bryce Curtis
fe3e7041b7 Don't override history.back since jQuery also does it. 2011-10-06 22:21:09 -05:00
macdonst
24ad506da5 Fixing JavaScript comparrison issues 2011-09-30 14:26:48 -04:00
macdonst
80695ec5e4 Fix issue with DATA_URL and refactor code 2011-09-30 11:30:04 -04:00
macdonst
0d57404cf1 Merge pull request #249 from macdonst/gallery
Adding video select to getPicture to line up with iOS
2011-09-29 12:13:44 -07:00
macdonst
67393c516e Adding video select to getPicture to line up with iOS 2011-09-29 14:49:34 -04:00
Bryce Curtis
ebb9f09168 Improve closing an HTML page and returning to previous page. 2011-09-29 11:02:54 -05:00
macdonst
821eb24a54 Fix for Issue #228: Align Compass support with iOS 2011-09-28 17:35:50 -04:00
Bryce Curtis
80df4a8fb2 White list support. Pull request https://github.com/phonegap/phonegap-android/pull/211 from imhotep would not merge, so combined it with enhancements for this commit. 2011-09-26 10:58:41 -05:00
macdonst
bb777c096c Fix for Issue #172: Out of memory when uploading video using FileTransfer on Android 2011-09-24 00:15:59 +08:00
macdonst
362841008a fix for Issue #229: Deprecate FileMgr code in file.js 2011-09-13 16:57:32 -04:00
macdonst
8d35b1aeef Fix for Issue #210: devready event never fires if we can't get network connection info 2011-08-27 04:16:11 +08:00
macdonst
7e2044c5b4 Merge pull request #195 from m00sey/master
Expose Volume control
2011-08-17 12:45:09 -07:00
Bryce Curtis
361a7aacc5 Issue #194: Resolve flashes between screen, and enable setting of background color & optional loading dialog. 2011-08-11 16:21:22 -05:00
Bryce Curtis
8d46d33675 Implementation of Battery Event Spec. (http://dev.w3.org/2009/dap/system-info/battery-status.html) 2011-08-12 04:31:43 +08:00
Bryce Curtis
a735a631f6 Formalize document and window event listeners and allow plugins to override eventListeners. 2011-08-12 04:31:43 +08:00
Kevin Griffin
ad8086fab5 exposing volume control 2011-08-09 23:18:01 -04:00
macdonst
e28458869f Issue #185: Fix mis-spelling in file.js 2011-07-29 11:56:29 +08:00
macdonst
2bf765897b Normalize Android Camera.takePicture with iOS and BB versions.
Both iOS and BlackBerry support the PNG image format so I added support for Android.

Also, iOS and BB use targetWidth/targetHeight to specify the resolution of the image.  I've swiched from using maxResolution to targetWidth/targetHeight in this change list.
2011-07-26 12:18:04 +08:00
macdonst
1c97467e39 Issue #169: Media.seekTo() does not update Media._position value.
Calling Media.seekTo() now updates the Media._position value. I could not make seekTo() to work when your audio clip is not playing as that is not a supported action of the AndroidMedia player class.
2011-07-23 03:21:45 +08:00
Joe Bowser
648e56cb67 Merging maxResolution 2011-07-21 13:15:52 -07:00
Bryce Curtis
6b84ead393 Issue #167: Remove window.app and use navigator.app instead. Remove App() from namespace. 2011-07-19 11:00:13 -05:00
Bryce Curtis
2bee9a8442 Remove deprecated addService() method. The new way to register a plugin is to include it in res/xml/plugins.xml. 2011-07-15 14:26:20 -05:00
macdonst
24f979394f Remove deprecated Network.isReachable (use the Network Information API instead) 2011-07-12 23:01:42 +08:00
macdonst
66f7afbed2 Issue #146: File API - File::writeAsText not in the API, remove 2011-07-12 11:13:24 +08:00
macdonst
22a9cabeb9 Updating Contacts for June 16th W3C Spec 2011-07-11 23:18:24 +08:00
Bryce Curtis
5de4ae7554 Remove dependency on notification.activityStart/Stop so they can be deprecated to an optional plugin. Also remove hideLoadingDialogOnPage option, since it no longer is relevant. 2011-07-08 23:07:22 -05:00
Bryce Curtis
85dab52cf7 Handle errors when adding a service. 2011-06-27 13:49:24 -05:00
Bryce Curtis
c96c9b00b9 Revert to polling if there are any errors with callback server. This addresses various problems with proxies set by carriers. 2011-06-27 13:48:02 -05:00
Bryce Curtis
80e66d87a9 Issue 112: PhoneGap.Channel: replace instanceof Function with typeof === 'Function' 2011-06-24 14:06:21 -07:00
macdonst
8a1ab69235 Updating Network Connection API to match spec released on June 7th 2011-06-24 14:06:20 -07:00
Bryce Curtis
66f3018767 Set PhoneGap.UsePolling flag based upon result from CallbackServer. 2011-06-24 14:06:20 -07:00
macdonst
ff7de25b62 Issue #106: Typo in LocalFileSystem.prototype._castDate 2011-06-24 14:06:20 -07:00
macdonst
0280d5dd82 Updating Connection object to conform with recently released spec
- Replacing currentNW and homeNW with networkName.
- Changing Connection constants to strings instead of ints.
- Firing online/offline events on network change.
2011-06-24 14:06:20 -07:00
macdonst
af18a8e1aa Issue #80: Unable to open large json files on android 2.2 + phonegap 0.9.5
I could not get rid of the url encoding and decoding without hampering some users ability to pass non-ascii characters back to JavaScript.  However, I was able to reduce the amount of data being passed from Java to JavaScript by 40% by decoding common characters that occur in JSON and XML.  These characters will survive the round trip just fine and don't need to be encoded.

This is the best solution I could come up with.  You won't be able to read files as large as you could in 0.9.4 but it will get close and it will support non-ascii characters.
2011-06-24 14:06:20 -07:00
macdonst
1d79b6617b JavaScript cleanup to pass jsHint
I did my best to clean up the JavaScript so it would pass through jsHint more cleanly.  There still are issues but there are a lot fewer now.  This helped to make the JS code more consistent.
2011-05-21 02:31:24 +08:00
macdonst
6c3eefe6f9 Issue #85: window.openDatabase throws DOM Exception 18 on Android 3.1
Instead of checking the userAgent catch the exception.  If we do get an exception it will setup our version of Droid Db.
2011-05-21 02:13:03 +08:00
macdonst
2177cd0a39 Moving navigator.connection to navigator.device.connection
Android 2.2 introduces the navigation.connection interface but it does not work properly in WebView.  So in order to get the proper connection information we had to implement our own connection interface which is accessible at navigator.network.connection.
2011-05-18 03:26:31 +08:00
macdonst
6618015151 Fixing a number of issues in File API
Issue #82: The RandomAccessFile class in Android's version of Java does not write non-ASCII characters very well.  I've switched to using a FileOutputStream which seems to work just great.  Tested by myself and folks from Egypt and the Netherlands.

Issue #87: Fixed a problem where the file errors were being returned as evt.target.result.code.code.
2011-05-17 22:11:38 +08:00
macdonst
e99f75d59b Issue #85: window.openDatabase throws DOM Exception 18 on Android 3.1
The way were were detecting we were on an Android 3.0 device was not applicable for Android 3.1.  I've made and update so that any Android 3.X device will use our implementation of web sql databases instead of the built in one which thows a security error.
2011-05-16 23:14:24 +08:00
macdonst
e84c59d23c Merge pull request #78 from kernelsandirs/master
Added Media.seekTo(int milliseconds);

Merging this code in now and making some notes to enhance the Media class.
2011-05-15 19:32:02 -07:00
macdonst
e81fc239a7 Setting defaults in Media Capture
Some tests of Media Capture were failing as the CaptureAudio/Image/VideoOptions objects did not have defaults set.
2011-05-14 01:10:18 +08:00
macdonst
116169a4c5 Issue #79: FileWriter.seek() is broken in 0.9.5.
The FileEntry.createWriter() method passes in a FileEntry object instead of a File object. As a result the FileWriter.length was not being set properly so when you do a writer.seek(writer.length) it would go to 0, so your next write would overwrite your file.

In order to fix this issue the FileEntry.createWriter() method now makes a call to FileEntry.file() to get the correct file size.  The File object is now passed to the FileWriter constructor.
2011-05-07 00:41:57 +08:00
macdonst
346ed60f0d Android 2.2+ supports W3C Connection API
For Android version 2.2 or better the navigator.connection object already
exists. If this case we should immediately fire the onPhoneGapConnectionReady
event so we don't tie up the 'deviceready' event.
2011-05-06 04:22:38 +08:00
defrex
bde59adc04 Add docs and fixed to pass through the Google Closure Compiler without warnings 2011-05-04 16:00:03 -07:00
kernelsandirs
ffbc010d7b Added Media.seekTo(int milliseconds); 2011-05-04 11:51:26 -07:00
macdonst
bdadbbc339 Implement W3C Network Information API
Adding a new object to navigator called 'connection'.  Users can query the
connection object to find out what type of network, if any, the device is
connected to.  The connection object will be updated each time there is a
connectivity change on the device.
2011-05-04 22:23:16 +08:00
kernelsandirs
b94eedaf07 Added Media.seekTo(int milliseconds); 2011-05-03 21:27:08 -07:00
macdonst
58ecac335b Capture modifications:
Renaming supportedAudioFormats to supportedAudioModes.
Renaming supportedImageFormats to supportedImageModes.
Renaming supportedVideoFormats to supportedVideoModes.
Adding copywrite header to the Capture.java file.
2011-05-03 00:12:19 +08:00
macdonst
2cd116e4e7 Issue 60: Contact search unicode problem
Contact search was not working for unicode letters.  The CallbackServer was changed so that it returned url encode strings.  On the JavaScript side the PhoneGap callback handler decodes the returned string.
2011-04-25 22:22:12 +08:00
Bryce Curtis
673a8871df Ticket 136: window.openDatabase() in Android 3.0 throws SECURITY_ERR (most code written by Simon MacDonald - I just tested and checked in)
When you call window.openDatabase() on an Android 3.0 device you get and error something like this:

E/Web Console( 1791): SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent.

Simon worked with Pat for a bit and they think this is a WebKit or Android/WebKit interaction bug. In the meantime this fix determines if you are on Android 3.0 and uses Droid_DB if so.
2011-04-19 16:54:16 -05:00
macdonst
40084293c3 Ticket 127: Android FileReader/FileWriter methods should return FileError object on error. 2011-04-07 07:17:41 +08:00
Fil Maj
ed4c57e791 Woops, finger slipped. 2011-04-06 11:01:36 -07:00
Fil Maj
bf164f4161 Fix for ticket 121: Checking for null return on native openDatabase call not enough as only allowed one DB per PhoneGap app. Have to proxy openDatabase and check at runtime. 2011-04-06 10:50:24 -07:00
Ron Reiter
307f9d1871 Add maxResolution flag 2011-04-04 02:57:10 +03:00
macdonst
e766188689 W3C Media Capture API
An implementation of the W3C Media Capture spec:
http://dev.w3.org/2009/dap/camera/Overview-API

Capture operations are supported for audio, video, and images.  Each
capture operation launches the native audio recorder, video recorder,
or camera application, respectively.
2011-04-01 15:52:53 -04:00
macdonst
d74569ffa7 Read As Text missing load event call
FileReader.readAsText didn't call the onload callback on success.
2011-04-01 23:04:14 +08:00
Bryce Curtis
908485751b Add check to only init and run JS code once - even if included multiple times. 2011-03-30 13:29:24 -05:00
macdonst
b850d225f4 Support old way of adding service in PhoneGap 0.9.5
PhoneGap 0.9.4 replaced PluginManager.addService() with navigator.app.addService().  This is problematic with the older plugin as they are not being maintained.  I'm adding in a PluginManger JavaScript class which will implement the addService method and call navigator.app.addService() method under the hood.  This way we won't break old code.
2011-03-30 21:04:03 +08:00
Fil Maj
b3e9794189 Fix for lighthouse ticket 115: certain versions of Android 2.2 return "null" for window.openDatabase. Hook in PhoneGap fallback for storage in this case. 2011-03-23 11:07:45 -07:00
Bryce Curtis
935295c9b8 Bug 110 - When you close an app on Android you see a JS error in logcat. 2011-03-18 17:27:36 -05:00
macdonst
1fc56921aa Ticket #90: Move _createEvent from File to PhoneGap
Got rid of _createEvent from file.js as it is redundant code.
2011-03-10 04:26:11 +08:00
Mark Darbyshire
47ca081f36 Implement localStorage.key() and localStorage.length
This brings PhoneGap's implementation in line with the spec at http://dev.w3.org/html5/webstorage/
It makes the following demo work when you include PhoneGap: http://people.w3.org/mike/localstorage.html
I was hopeful it would make my app, which makes use of LawnChair, work, but I've had no such luck as of yet.
2011-03-07 15:55:14 -08: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
2bc7bd6768 Worked around JavaScript bridge exception for Android 2.3. Use "prompt" instead of calling objects directly. There were several objects called from JavaScript, including BrowserKey, so key events had to be reworked. 2011-02-27 20:07:24 -06:00
paulb777
6f4673f590 JSLint clean JavaScript sources. No fatal errors remain. Options can turn off rest of warnings 2011-02-15 16:10:09 -08:00
Vadim Voituk
5e858f8bc3 Added CupcakeLocalStorage.clear() method (in according to http://dev.w3.org/html5/webstorage/#the-storage-interface) 2011-02-04 12:08:22 -08:00
Bryce Curtis
36dd964ba4 Logging status from wrong object. 2011-02-03 21:11:06 -06:00
macdonst
7952668cf7 Throwing error on FileWriter.abort() if writer is not in the correct state. Lining up with iPhone and BlackBerry 2011-02-03 02:26:49 +08:00
macdonst
a0c761664d Call onwriteend not onloadend in FileWriter.abort() 2011-02-03 02:08:41 +08:00
macdonst
64310dc85c Fixing clone issue adding photos, removing relationships 2011-01-27 05:59:22 +08:00
macdonst
b353f3608d Updating to latest W3C spec 2011-01-27 03:41:27 +08:00
macdonst
567ca94245 Adding debug mode so FileTransfer will accept self signed SSL certificates 2011-01-12 10:32:26 +08:00
Bryce Curtis
023df10f31 Allow features/modules to initialize code before deviceready fires. CupcakeLocalStorage uses this capability to delay deviceready until local storage has been read and inited. 2011-01-06 22:50:13 -06:00
macdonst
8d513e2765 Remaining FileUploader to FileTransfer 2011-01-07 01:43:12 +08:00
macdonst
73f278963b Adding File Upload functionality 2011-01-06 07:09:07 +08:00
macdonst
115b428a9d Fixing issue where Date's aren't cloned 2010-12-30 00:53:06 +08:00
macdonst
2504db13d7 Adding release method to Media object 2010-12-23 02:44:52 +08:00
Bryce Curtis
42cd10cf56 Need license header since it is removed by minification. 2010-12-01 16:13:22 -06:00
Bryce Curtis
b2a82975e5 Merge branch 'jos3000-master' 2010-11-29 12:30:49 -06:00
Bryce Curtis
ddeba91faf Merge branch 'master' of https://github.com/jos3000/phonegap-android into jos3000-master 2010-11-29 12:27:00 -06:00
macdonst
50b435c4d1 Following File API spec. 2010-11-25 03:11:43 +08:00