You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ia...@apache.org on 2014/04/25 20:13:54 UTC

[8/8] git commit: CB-6521: Remove development branch

CB-6521: Remove development branch


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/commit/9976b306
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/tree/9976b306
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/diff/9976b306

Branch: refs/heads/dev
Commit: 9976b30687047dc1aaa8c21fae5c2fb5a09d53ad
Parents: 757e692
Author: Ian Clelland <ic...@chromium.org>
Authored: Fri Apr 25 14:09:47 2014 -0400
Committer: Ian Clelland <ic...@chromium.org>
Committed: Fri Apr 25 14:09:47 2014 -0400

----------------------------------------------------------------------
 LICENSE                                         |  202 ---
 NOTICE                                          |    5 -
 README.md                                       |    2 +
 RELEASENOTES.md                                 |  175 --
 doc/index.md                                    |  211 ---
 doc/plugins.md                                  |  120 --
 plugin.xml                                      |  289 ---
 src/android/ContentFilesystem.java              |  296 ---
 src/android/DirectoryManager.java               |  133 --
 src/android/EncodingException.java              |   29 -
 src/android/FileExistsException.java            |   29 -
 src/android/FileHelper.java                     |  158 --
 src/android/FileUtils.java                      |  986 ----------
 src/android/Filesystem.java                     |  216 ---
 src/android/InvalidModificationException.java   |   30 -
 src/android/LocalFilesystem.java                |  644 -------
 src/android/LocalFilesystemURL.java             |   74 -
 src/android/NoModificationAllowedException.java |   29 -
 src/android/TypeMismatchException.java          |   30 -
 src/blackberry10/index.js                       |   37 -
 src/ios/CDVAssetLibraryFilesystem.h             |   30 -
 src/ios/CDVAssetLibraryFilesystem.m             |  276 ---
 src/ios/CDVFile.h                               |  157 --
 src/ios/CDVFile.m                               | 1047 -----------
 src/ios/CDVLocalFilesystem.h                    |   32 -
 src/ios/CDVLocalFilesystem.m                    |  729 --------
 src/ubuntu/file.cpp                             |  773 --------
 src/ubuntu/file.h                               |   73 -
 src/windows8/FileProxy.js                       |  887 ---------
 src/wp/File.cs                                  | 1683 ------------------
 www/DirectoryEntry.js                           |  108 --
 www/DirectoryReader.js                          |   73 -
 www/Entry.js                                    |  253 ---
 www/File.js                                     |   77 -
 www/FileEntry.js                                |   81 -
 www/FileError.js                                |   46 -
 www/FileReader.js                               |  387 ----
 www/FileSystem.js                               |   48 -
 www/FileUploadOptions.js                        |   41 -
 www/FileUploadResult.js                         |   30 -
 www/FileWriter.js                               |  301 ----
 www/Flags.js                                    |   36 -
 www/LocalFileSystem.js                          |   23 -
 www/Metadata.js                                 |   40 -
 www/ProgressEvent.js                            |   67 -
 www/android/FileSystem.js                       |   33 -
 www/blackberry10/DirectoryEntry.js              |  119 --
 www/blackberry10/DirectoryReader.js             |   54 -
 www/blackberry10/Entry.js                       |  116 --
 www/blackberry10/File.js                        |   56 -
 www/blackberry10/FileEntry.js                   |   49 -
 www/blackberry10/FileReader.js                  |   90 -
 www/blackberry10/FileSystem.js                  |   27 -
 www/blackberry10/FileWriter.js                  |  120 --
 www/blackberry10/fileUtils.js                   |   52 -
 www/blackberry10/requestFileSystem.js           |   59 -
 www/blackberry10/resolveLocalFileSystemURI.js   |   25 -
 www/blackberry10/resolveLocalFileSystemURL.js   |   78 -
 www/ios/FileSystem.js                           |   30 -
 www/requestFileSystem.js                        |   61 -
 www/resolveLocalFileSystemURI.js                |   69 -
 www/ubuntu/DirectoryEntry.js                    |   26 -
 www/ubuntu/Entry.js                             |   32 -
 www/ubuntu/FileWriter.js                        |  135 --
 www/wp/FileUploadOptions.js                     |   49 -
 65 files changed, 2 insertions(+), 12271 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 7a4a3ea..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
deleted file mode 100644
index 8ec56a5..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache Cordova
-Copyright 2012 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 9ddc447..40d2a1c 100644
--- a/README.md
+++ b/README.md
@@ -20,3 +20,5 @@
 # org.apache.cordova.file
 
 Plugin documentation: [doc/index.md](doc/index.md)
+
+This is `dev` - the deprecated development branch of this plugin; development of this plugin has moved to the `master` branch

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/RELEASENOTES.md
----------------------------------------------------------------------
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
deleted file mode 100644
index d34cb47..0000000
--- a/RELEASENOTES.md
+++ /dev/null
@@ -1,175 +0,0 @@
-<!--
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-# http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
--->
-# Release Notes
-
-### 0.2.1 (Sept 5, 2013)
-* [CB-4656] Don't add newlines in data urls within readAsDataUrl.
-* [CB-4514] Making DirectoryCopy Recursive
-* [iOS] Simplify the code in resolveLocalFileSystemURI
-
-### 0.2.3 (Sept 25, 2013)
-* CB-4889 bumping&resetting version
-* [CB-4903] File Plugin not loading Windows8
-* [CB-4903] File Plugin not loading Windows8
-* CB-4889 renaming references
-* CB-4889 renaming org.apache.cordova.core.file to org.apache.cordova.file
-* Rename CHANGELOG.md -> RELEASENOTES.md
-* [CB-4771] Expose TEMPORARY and PERSISTENT constants on window.
-* Fix compiler/lint warnings
-* [CB-4764] Move DirectoryManager.java into file plugin
-* [CB-4763] Copy FileHelper.java into the plugin.
-* [CB-2901] [BlackBerry10] Automatically unsandbox filesystem if path is not in app sandbox
-* [CB-4752] Incremented plugin version on dev branch.
-
-### 0.2.4 (Oct 9, 2013)
-* CB-5020 - File plugin should execute on a separate thread
-* [CB-4915] Incremented plugin version on dev branch.
-* CB-4504: Updating FileUtils.java to compensate for Java porting failures in the Android SDK. This fails because Java knows nothing about android_asset not being an actual filesystem
-
- ### 0.2.5 (Oct 28, 2013)
-* CB-5129: Add a consistent filesystem attribute to FileEntry and DirectoryEntry objects
-* CB-5128: added repo + issue tag to plugin.xml for file plugin
-* CB-5015 [BlackBerry10] Add missing dependency for File.slice
-* [CB-5010] Incremented plugin version on dev branch.
-
-### 1.0.0 (Feb 05, 2014)
-* CB-5974: Use safe 'Compatibilty' mode by default
-* CB-5915: CB-5916: Reorganize preference code to make defaults possible
-* CB-5974: Android: Don't allow File operations to continue when not configured
-* CB-5960: ios: android: Properly handle parent references in getFile/getDirectory
-* [ubuntu] adopt to recent changes
-* Add default FS root to new FS objects
-* CB-5899: Make DirectoryReader.readEntries return properly formatted Entry objects
-* Add constuctor params to FileUploadResult related to CB-2421
-* Fill out filesystem attribute of entities returned from resolveLocalFileSystemURL
-* CB-5916: Create documents directories if they don't exist
-* CB-5915: Create documents directories if they don't exist
-* CB-5916: Android: Fix unfortunate NPE in config check
-* CB-5916: Android: Add "/files/" to persistent files path
-* CB-5915: ios: Update config preference (and docs) to match issue
-* CB-5916: Android: Add config preference for Android persistent storage location
-* iOS: Add config preference for iOS persistent storage location
-* iOS: Android: Allow third-party plugin registration
-* Android: Expose filePlugin getter so that other plugins can register filesystems
-* Fix typos in deprecation message
-* Add backwards-compatibility shim for file-transfer
-* Android: Allow third-party plugin registration
-* CB-5810 [BlackBerry10] resolve local:/// paths (application assets)
-* CB-5774: create DirectoryEntry instead of FileEntry
-* Initial fix for CB-5747
-* Change default FS URL scheme to "cdvfile"
-* Android: Properly format content urls
-* Android, iOS: Replace "filesystem" protocol string with constant
-* Android: Allow absolute paths on Entry.getFile / Entry.getDirectory
-* Android: Make clear that getFile takes a path, not just a filename
-* CB-5008: Rename resolveLocalFileSystemURI to resolveLocalFileSystemURL; deprecate original
-* Remove old file reference from plugin.xml
-* Android: Refactor File API
-* CB-4899 [BlackBerry10] Fix resolve directories
-* CB-5602 Windows8. Fix File Api mobile spec tests
-* Android: Better support for content urls and cross-filesystem copy/move ops
-* CB-5699 [BlackBerry10] Update resolveLocalFileSystemURI implementation
-* CB-5658 Update license comment formatting of doc/index.md
-* CB-5658 Add doc.index.md for File plugin.
-* CB-5658 Delete stale snapshot of plugin docs
-* CB-5403: Backwards-compatibility with file:// urls where possible
-* CB-5407: Fixes for ContentFilesystem
-* Android: Add method for testing backwards-compatibility of filetransfer plugin
-* iOS: Add method for testing backwards-compatiblity of filetransfer plugin
-* Android: Updates to allow FileTransfer to continue to work
-* Android: Clean up unclosed file objects
-* CB-5407: Cleanup
-* CB-5407: Add new Android source files to plugin.xml
-* CB-5407: Move read, write and truncate methods into modules
-* CB-5407: Move copy/move methods into FS modules
-* CB-5407: Move getParent into FS modules
-* CB-5407: Move getmetadata methods into FS modules
-* CB-5407: Move readdir methods into FS modules
-* CB-5407: Move remove methods into FS modules
-* CB-5407: Move getFile into FS modules
-* CB-5407: Start refactoring android code: Modular filesystems, rfs, rlfsurl
-* CB-5407: Update android JS to use FS urls
-* CB-5405: Use URL formatting for Entry.toURL
-* CB-5532 Fix
-* Log file path for File exceptions.
-* Partial fix for iOS File compatibility with previous fileTransfer plugin
-* CB-5532 WP8. Add binary data support to FileWriter
-* CB-5531 WP8. File Api readAsText incorrectly handles position args
-* Added ubuntu platform support
-* Added amazon-fireos platform support
-* CB-5118 [BlackBerry10] Add check for undefined error handler
-* CB-5406: Extend public API for dependent plugins
-* CB-5403: Bump File plugin major version
-* CB-5406: Split iOS file plugin into modules
-* CB-5406: Factor out filesystem providers in iOS
-* CB-5408: Add handler for filesystem:// urls
-* CB-5406: Update iOS native code to use filesystem URLs internally
-* CB-5405: Update JS code to use URLs exclusively
-* CB-4816 Fix file creation outside sandbox for BB10
-
-### 1.0.1 (Feb 28, 2014)
-* CB-6116 Fix error where resolveLocalFileSystemURL would fail
-* CB-6106 Add support for nativeURL attribute on Entry objects
-* CB-6110 iOS: Fix typo in filesystemPathForURL: method
-* Android: Use most specific FS match when resolving file: URIs
-* iOS: Update fileSystemURLforLocalPath: to return the most match url.
-* Allow third-party plugin registration, and the total count of fs type is not limited to just 4.
-* CB-6097 Added missing files for amazon-fireos platform. Added onLoad flag to true.
-* CB-6087 Android, iOS: Load file plugin on startup
-* CB-6013 BlackBerry10: wrap webkit prefixed called in requestAnimationFrame
-* Update plugin writers' documentation
-* CB-6080 Fix file copy when src and dst are on different local file systems
-* CB-6057 Add methods for plugins to convert between URLs and paths
-* CB-6050 Public method for returning a FileEntry from a device file path
-* CB-2432 CB-3185, CB-5975: Fix Android handling of content:// URLs
-* CB-6022 Add upgrade notes to doc
-* CB-5233 Make asset-library urls work properly on iOS
-* CB-6012 Preserve query strings on cdvfile:// URLs where necessary
-* CB-6010 Test properly for presence of URLforFilesystemPath method
-* CB-5959 Entry.getMetadata should return size attribute
-
-### 1.1.0 (Apr 17, 2014)
-* CB-4965: Remove tests from file plugin
-* Android: Allow file:/ URLs
-* CB-6422: [windows8] use cordova/exec/proxy
-* CB-6249: [android] Opportunistically resolve content urls to file
-* CB-6394: [ios, android] Add extra filesystem roots
-* CB-6394: [ios, android] Fix file resolution for the device root case
-* CB-6394: [ios] Return ENCODING_ERR when fs name is not valid
-* CB-6393: Change behaviour of toURL and toNativeURL
-* ios: Style: plugin initialization
-* ios: Fix handling of file URLs with encoded spaces
-* Always use Android's recommended temp file location for temporary file system
-* CB-6352: Allow FileSystem objects to be serialized to JSON
-* CB-5959: size is explicitly 0 if not set, file.spec.46&47 are testing the type of size
-* CB-6242: [BlackBerry10] Add deprecated version of resolveLocalFileSystemURI
-* CB-6242: [BlackBerry10] add file:/// prefix for toURI / toURL
-* CB-6242: [BlackBerry10] Polyfill window.requestAnimationFrame for OS < 10.2
-* CB-6242: [BlackBerry10] Override window.resolveLocalFileSystemURL
-* CB-6212: [iOS] fix warnings compiled under arm64 64-bit
-* ios: Don't cache responses from CDVFile's URLProtocol
-* CB-6199: [iOS] Fix toNativeURL() not escaping characters properly
-* CB-6148: Fix cross-filesystem copy and move
-* fixed setMetadata() to use the formatted fullPath
-* corrected typo which leads to a "comma expression"
-* CB-4952: ios: Resolve symlinks in file:// URLs
-* Add docs about the extraFileSystems <preference>
-* CB-6460: Update license headers

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/doc/index.md
----------------------------------------------------------------------
diff --git a/doc/index.md b/doc/index.md
deleted file mode 100644
index b47c95f..0000000
--- a/doc/index.md
+++ /dev/null
@@ -1,211 +0,0 @@
-<!---
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-
-# org.apache.cordova.file
-
-This plugin provides the [HTML5 Filesystem API](http://dev.w3.org/2009/dap/file-system/pub/FileSystem/). For usage, refer
-to HTML5 Rocks' [FileSystem article](http://www.html5rocks.com/en/tutorials/file/filesystem/)
-on the subject. For an overview of other storage options, refer to Cordova's
-[storage guide](http://cordova.apache.org/docs/en/edge/cordova_storage_storage.md.html).
-
-## Installation
-
-    cordova plugin add org.apache.cordova.file
-
-## Supported Platforms
-
-- Amazon Fire OS
-- Android
-- BlackBerry 10*
-- iOS
-- Windows Phone 7 and 8*
-- Windows 8*
-
-\* _These platforms do not support `FileReader.readAsArrayBuffer` nor `FileWriter.write(blob)`._
-
-## Configuring the Plugin
-
-The set of available filesystems can be configured per-platform. Both iOS and
-Android recognize a <preference> tag in `config.xml` which names the
-filesystems to be installed. By default, all file-system roots are enabled.
-
-    <preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" />
-    <preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,root" />
-
-### Android
-
-* files: The application's internal file storage directory
-* files-external: The application's external file storage directory
-* sdcard: The global external file storage directory (this is the root of the SD card, if one is installed)
-* cache: The application's internal cache directory
-* cache-external: The application's external cache directory
-* root: The entire device filesystem
-
-Android also supports a special filesystem named "documents", which represents a "/Documents/" subdirectory within the "files" filesystem.
-
-### iOS
-
-* library: The application's Library directory
-* documents: The application's Documents directory
-* cache: The application's Cache directory
-* app-bundle: The application's bundle; the location of the app itself on disk
-* root: The entire device filesystem
-
-By default, the library and documents directories can be synced to iCloud. You can also request two additional filesystems, "library-nosync" and "documents-nosync", which represent a special non-synced directory within the Library or Documents filesystem.
-
-## Android Quirks
-
-### Android Persistent storage location
-
-There are multiple valid locations to store persistent files on an Android
-device. See [this page](http://developer.android.com/guide/topics/data/data-storage.html)
-for an extensive discussion of the various possibilities.
-
-Previous versions of the plugin would choose the location of the temporary and
-persistent files on startup, based on whether the device claimed that the SD
-Card (or equivalent storage partition) was mounted. If the SD Card was mounted,
-or if a large internal storage partition was available (such as on Nexus
-devices,) then the persistent files would be stored in the root of that space.
-This meant that all Cordova apps could see all of the files available on the
-card.
-
-If the SD card was not available, then previous versions would store data under
-/data/data/<packageId>, which isolates apps from each other, but may still
-cause data to be shared between users.
-
-It is now possible to choose whether to store files in the internal file
-storage location, or using the previous logic, with a preference in your
-application's config.xml file. To do this, add one of these two lines to
-config.xml:
-
-    <preference name="AndroidPersistentFileLocation" value="Internal" />
-
-    <preference name="AndroidPersistentFileLocation" value="Compatibility" />
-
-Without this line, the File plugin will use "Compatibility" as the default. If
-a preference tag is present, and is not one of these values, the application
-will not start.
-
-If your application has previously been shipped to users, using an older (pre-
-1.0) version of this plugin, and has stored files in the persistent filesystem,
-then you should set the preference to "Compatibility". Switching the location to
-"Internal" would mean that existing users who upgrade their application may be
-unable to access their previously-stored files, depending on their device.
-
-If your application is new, or has never previously stored files in the
-persistent filesystem, then the "internal" setting is generally recommended.
-
-## BlackBerry Quirks
-
-`DirectoryEntry.removeRecursively()` may fail with a `ControlledAccessException` in the following cases:
-
-- An app attempts to access a directory created by a previous installation of the app.
-
-> Solution: ensure temporary directories are cleaned manually, or by the application prior to reinstallation.
-
-- If the device is connected by USB.
-
-> Solution: disconnect the USB cable from the device and run again.
-
-## iOS Quirks
-- `FileReader.readAsText(blob, encoding)`
-  - The `encoding` parameter is not supported, and UTF-8 encoding is always in effect.
-
-### iOS Persistent storage location
-
-There are two valid locations to store persistent files on an iOS device: the
-Documents directory and the Library directory. Previous versions of the plugin
-only ever stored persistent files in the Documents directory. This had the
-side-effect of making all of an application's files visible in iTunes, which
-was often unintended, especially for applications which handle lots of small
-files, rather than producing complete documents for export, which is the
-intended purpose of the directory.
-
-It is now possible to choose whether to store files in the documents or library
-directory, with a preference in your application's config.xml file. To do this,
-add one of these two lines to config.xml:
-
-    <preference name="iosPersistentFileLocation" value="Library" />
-
-    <preference name="iosPersistentFileLocation" value="Compatibility" />
-
-Without this line, the File plugin will use "Compatibility" as the default. If
-a preference tag is present, and is not one of these values, the application
-will not start.
-
-If your application has previously been shipped to users, using an older (pre-
-1.0) version of this plugin, and has stored files in the persistent filesystem,
-then you should set the preference to "Compatibility". Switching the location to
-"Library" would mean that existing users who upgrade their application would be
-unable to access their previously-stored files.
-
-If your application is new, or has never previously stored files in the
-persistent filesystem, then the "Library" setting is generally recommended.
-
-## Upgrading Notes
-
-In v1.0.0 of this plugin, the `FileEntry` and `DirectoryEntry` structures have changed,
-to be more in line with the published specification.
-
-Previous (pre-1.0.0) versions of the plugin stored the device-absolute-file-location
-in the `fullPath` property of `Entry` objects. These paths would typically look like
-
-    /var/mobile/Applications/<application UUID>/Documents/path/to/file  (iOS)
-    /storage/emulated/0/path/to/file                                    (Android)
-
-These paths were also returned by the `toURL()` method of the `Entry` objects.
-
-With v1.0.0, the `fullPath` attribute is the path to the file, _relative to the root of
-the HTML filesystem_. So, the above paths would now both be represented by a `FileEntry`
-object with a `fullPath` of
-
-    /path/to/file
-
-If your application works with device-absolute-paths, and you previously retrieved those
-paths through the `fullPath` property of `Entry` objects, then you should update your code
-to use `entry.toURL()` instead. This method will now return filesystem URLs of the form
-
-    cdvfile://localhost/persistent/path/to/file
-
-which can be used to identify the file uniquely.
-
-For backwards compatibility, the `resolveLocalFileSystemURL()` method will accept a
-device-absolute-path, and will return an `Entry` object corresponding to it, as long as that
-file exists within either the TEMPORARY or PERSISTENT filesystems.
-
-This has particularly been an issue with the File-Transfer plugin, which previously used
-device-absolute-paths (and can still accept them). It has been updated to work correctly
-with FileSystem URLs, so replacing `entry.fullPath` with `entry.toURL()` should resolve any
-issues getting that plugin to work with files on the device.
-
-## List of Error Codes and Meanings
-When an error is thrown, one of the following codes will be used. 
-
-* 1 = NOT_FOUND_ERR
-* 2 = SECURITY_ERR
-* 3 = ABORT_ERR
-* 4 = NOT_READABLE_ERR
-* 5 = ENCODING_ERR
-* 6 = NO_MODIFICATION_ALLOWED_ERR
-* 7 = INVALID_STATE_ERR
-* 8 = SYNTAX_ERR
-* 9 = INVALID_MODIFICATION_ERR
-* 10 = QUOTA_EXCEEDED_ERR
-* 11 = TYPE_MISMATCH_ERR
-* 12 = PATH_EXISTS_ERR

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/doc/plugins.md
----------------------------------------------------------------------
diff --git a/doc/plugins.md b/doc/plugins.md
deleted file mode 100644
index a3329d6..0000000
--- a/doc/plugins.md
+++ /dev/null
@@ -1,120 +0,0 @@
-<!---
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-
-Notes for plugin developers
-===========================
-
-These notes are primarily intended for Android and iOS developers who want to write plugins which interface with the file system using the File plugin.
-
-Working with Cordova file system URLs
--------------------------------------
-
-Since version 1.0.0, this plugin has used URLs with a `cdvfile` scheme for all communication over the bridge, rather than exposing raw device file system paths to JavaScript. 
-
-On the JavaScript side, this means that FileEntry and DirectoryEntry objects have a fullPath attribute which is relative to the root of the HTML file system. If your plugin's JavaScript API accepts a FileEntry or DirectoryEntry object, you should call `.toURL()` on that object before passing it across the bridge to native code.
-
-### Converting cdvfile:// URLs to fileystem paths
-
-Plugins which need to write to the filesystem may want to convert a received file system URL to an actual filesystem location. There are multiple ways of doing this, depending on the native platform.
-
-It is important to remember that not all `cdvfile://` URLs are mappable to real files on the device. Some URLs can refer to assets on device which are not represented by files, or can even refer to remote resources. Because of these possibilities, plugins should always test whether they get a meaningful result back when trying to convert URLs to paths.
-
-#### Android
-
-On Android, the simplest method to convert a `cdvfile://` URL to a filesystem path is to use `org.apache.cordova.CordovaResourceApi`. `CordovaResourceApi` has several methods which can handle `cdvfile://` URLs:
-
-    // webView is a member of the Plugin class
-    CordovaResourceApi resourceApi = webView.getResourceApi();
-
-    // Obtain a file:/// URL representing this file on the device,
-    // or the same URL unchanged if it cannot be mapped to a file
-    Uri fileURL = resourceApi.remapUri(Uri.parse(cdvfileURL));
-
-It is also possible to use the File plugin directly:
-
-    import org.apache.cordova.file.FileUtils;
-    import org.apache.cordova.file.FileSystem;
-    import java.net.MalformedURLException;
-
-    // Get the File plugin from the plugin manager
-    FileUtils filePlugin = (FileUtils)webView.pluginManager.getPlugin("File");
-
-    // Given a URL, get a path for it
-    try {
-        String path = filePlugin.filesystemPathForURL(cdvfileURL);
-    } catch (MalformedURLException e) {
-        // The filesystem url wasn't recognized
-    }
-
-To convert from a path to a `cdvfile://` URL:
-
-    import org.apache.cordova.file.LocalFilesystemURL;
-
-    // Get a LocalFilesystemURL object for a device path,
-    // or null if it cannot be represented as a cdvfile URL.
-    LocalFilesystemURL url = filePlugin.filesystemURLforLocalPath(path);
-    // Get the string representation of the URL object
-    String cdvfileURL = url.toString();
-
-If your plugin creates a file, and you want to return a FileEntry object for it, use the File plugin:
-
-    // Return a JSON structure suitable for returning to JavaScript,
-    // or null if this file is not representable as a cdvfile URL.
-    JSONObject entry = filePlugin.getEntryForFile(file);
-
-#### iOS
-
-Cordova on iOS does not use the same `CordovaResourceApi` concept as Android. On iOS, you should use the File plugin to convert between URLs and filesystem paths.
-
-    // Get a CDVFilesystem URL object from a URL string
-    CDVFilesystemURL* url = [CDVFilesystemURL fileSystemURLWithString:cdvfileURL];
-    // Get a path for the URL object, or nil if it cannot be mapped to a file
-    NSString* path = [filePlugin filesystemPathForURL:url];
-    
-
-    // Get a CDVFilesystem URL object for a device path, or
-    // nil if it cannot be represented as a cdvfile URL.
-    CDVFilesystemURL* url = [filePlugin fileSystemURLforLocalPath:path];
-    // Get the string representation of the URL object
-    NSString* cdvfileURL = [url absoluteString];
-
-If your plugin creates a file, and you want to return a FileEntry object for it, use the File plugin:
-
-    // Get a CDVFilesystem URL object for a device path, or
-    // nil if it cannot be represented as a cdvfile URL.
-    CDVFilesystemURL* url = [filePlugin fileSystemURLforLocalPath:path];
-    // Get a structure to return to JavaScript
-    NSDictionary* entry = [filePlugin makeEntryForLocalURL:url]
-
-#### JavaScript
-
-In JavaScript, to get a `cdvfile://` URL from a FileEntry or DirectoryEntry object, simply call `.toURL()` on it:
-
-    var cdvfileURL = entry.toURL();
-
-In plugin response handlers, to convert from a returned FileEntry structure to an actual Entry object, your handler code should import the File plugin and create a new object:
-
-    // create appropriate Entry object
-    var entry;
-    if (entryStruct.isDirectory) {
-        entry = new DirectoryEntry(entryStruct.name, entryStruct.fullPath, new FileSystem(entryStruct.filesystemName));
-    } else {
-        entry = new FileEntry(entryStruct.name, entryStruct.fullPath, new FileSystem(entryStruct.filesystemName));
-    }
-

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
deleted file mode 100644
index cedabbf..0000000
--- a/plugin.xml
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
-xmlns:android="http://schemas.android.com/apk/res/android"
-           id="org.apache.cordova.file"
-      version="1.1.1-dev">
-    <name>File</name>
-    <description>Cordova File Plugin</description>
-    <license>Apache 2.0</license>
-    <keywords>cordova,file</keywords>
-    <repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git</repo>
-    <issue>https://issues.apache.org/jira/browse/CB/component/12320651</issue>
-
-    <js-module src="www/DirectoryEntry.js" name="DirectoryEntry">
-        <clobbers target="window.DirectoryEntry" />
-    </js-module>
-
-    <js-module src="www/DirectoryReader.js" name="DirectoryReader">
-        <clobbers target="window.DirectoryReader" />
-    </js-module>
-
-    <js-module src="www/Entry.js" name="Entry">
-        <clobbers target="window.Entry" />
-    </js-module>
-
-    <js-module src="www/File.js" name="File">
-        <clobbers target="window.File" />
-    </js-module>
-
-    <js-module src="www/FileEntry.js" name="FileEntry">
-        <clobbers target="window.FileEntry" />
-    </js-module>
-
-    <js-module src="www/FileError.js" name="FileError">
-        <clobbers target="window.FileError" />
-    </js-module>
-
-    <js-module src="www/FileReader.js" name="FileReader">
-        <clobbers target="window.FileReader" />
-    </js-module>
-
-    <js-module src="www/FileSystem.js" name="FileSystem">
-        <clobbers target="window.FileSystem" />
-    </js-module>
-
-    <js-module src="www/FileUploadOptions.js" name="FileUploadOptions">
-        <clobbers target="window.FileUploadOptions" />
-    </js-module>
-
-    <js-module src="www/FileUploadResult.js" name="FileUploadResult">
-        <clobbers target="window.FileUploadResult" />
-    </js-module>
-
-    <js-module src="www/FileWriter.js" name="FileWriter">
-        <clobbers target="window.FileWriter" />
-    </js-module>
-
-    <js-module src="www/Flags.js" name="Flags">
-        <clobbers target="window.Flags" />
-    </js-module>
-
-    <js-module src="www/LocalFileSystem.js" name="LocalFileSystem">
-        <!-- Non-standards way -->
-        <clobbers target="window.LocalFileSystem" />
-        <!-- Standards-compliant way -->
-        <merges target="window" />
-    </js-module>
-
-    <js-module src="www/Metadata.js" name="Metadata">
-        <clobbers target="window.Metadata" />
-    </js-module>
-
-    <js-module src="www/ProgressEvent.js" name="ProgressEvent">
-        <clobbers target="window.ProgressEvent" />
-    </js-module>
-
-    <js-module src="www/requestFileSystem.js" name="requestFileSystem">
-        <clobbers target="window.requestFileSystem" />
-    </js-module>
-
-    <js-module src="www/resolveLocalFileSystemURI.js" name="resolveLocalFileSystemURI">
-        <merges target="window" />
-    </js-module>
-
-    <!-- android -->
-    <platform name="android">
-        <config-file target="res/xml/config.xml" parent="/*">
-            <feature name="File" >
-                <param name="android-package" value="org.apache.cordova.file.FileUtils"/>
-                <param name="onload" value="true" />
-            </feature>
-        </config-file>
-
-        <config-file target="AndroidManifest.xml" parent="/*">
-            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-        </config-file>
-
-        <source-file src="src/android/EncodingException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/FileExistsException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/InvalidModificationException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/NoModificationAllowedException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/TypeMismatchException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/FileUtils.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/FileHelper.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/DirectoryManager.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/LocalFilesystemURL.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/Filesystem.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/LocalFilesystem.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/ContentFilesystem.java" target-dir="src/org/apache/cordova/file" />
-
-        <!-- android specific file apis -->
-        <js-module src="www/android/FileSystem.js" name="androidFileSystem">
-            <merges target="window.FileSystem" />
-        </js-module>
-    </platform>
-
-    <!-- amazon-fireos -->
-    <platform name="amazon-fireos">
-        <config-file target="res/xml/config.xml" parent="/*">
-            <feature name="File" >
-                <param name="android-package" value="org.apache.cordova.file.FileUtils"/>
-                <param name="onload" value="true" />
-            </feature>
-        </config-file>
-
-        <config-file target="AndroidManifest.xml" parent="/*">
-            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-        </config-file>
-
-        <source-file src="src/android/EncodingException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/FileExistsException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/InvalidModificationException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/NoModificationAllowedException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/TypeMismatchException.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/FileUtils.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/FileHelper.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/DirectoryManager.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/LocalFilesystemURL.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/Filesystem.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/LocalFilesystem.java" target-dir="src/org/apache/cordova/file" />
-        <source-file src="src/android/ContentFilesystem.java" target-dir="src/org/apache/cordova/file" />
-        
-        <!-- android specific file apis -->
-        <js-module src="www/android/FileSystem.js" name="androidFileSystem">
-            <merges target="window.FileSystem" />
-        </js-module>
-    </platform>
-
-    <!-- ubuntu -->
-    <platform name="ubuntu">
-        <header-file src="src/ubuntu/file.h" />
-        <source-file src="src/ubuntu/file.cpp" />
-        <js-module src="www/ubuntu/Entry.js" name="Entry1">
-            <merges target="window.Entry" />
-        </js-module>
-        <js-module src="www/ubuntu/DirectoryEntry.js" name="DirectoryEntry1">
-            <merges target="window.DirectoryEntry" />
-        </js-module>
-        <js-module src="www/ubuntu/FileWriter.js" name="FileWriter1">
-            <merges target="window.FileWriter" />
-        </js-module>
-    </platform>
-
-    <!-- ios -->
-    <platform name="ios">
-        <config-file target="config.xml" parent="/*">
-            <feature name="File">
-                <param name="ios-package" value="CDVFile" />
-                <param name="onload" value="true" />
-            </feature>
-        </config-file>
-        <header-file src="src/ios/CDVFile.h" />
-        <source-file src="src/ios/CDVFile.m" />
-        <header-file src="src/ios/CDVLocalFilesystem.h" />
-        <source-file src="src/ios/CDVLocalFilesystem.m" />
-        <header-file src="src/ios/CDVAssetLibraryFilesystem.h" />
-        <source-file src="src/ios/CDVAssetLibraryFilesystem.m" />
-
-        <!-- ios specific file apis -->
-        <js-module src="www/ios/FileSystem.js" name="iosFileSystem">
-            <merges target="window.FileSystem" />
-        </js-module>
-
-        <framework src="AssetsLibrary.framework" />
-        <framework src="MobileCoreServices.framework" />
-    </platform>
-
-    <!-- wp7 -->
-    <platform name="wp7">
-        <config-file target="config.xml" parent="/*">
-            <feature name="File">
-                <param name="wp-package" value="File"/>
-            </feature>
-        </config-file>
-
-        <source-file src="src/wp/File.cs" />
-
-        <!-- wp specific file apis -->
-        <js-module src="www/wp/FileUploadOptions.js" name="FileUploadOptions1">
-            <merges target="window.FileUploadOptions" />
-        </js-module>
-
-    </platform>
-
-    <!-- wp8 -->
-    <platform name="wp8">
-        <config-file target="config.xml" parent="/*">
-            <feature name="File">
-                <param name="wp-package" value="File"/>
-            </feature>
-        </config-file>
-
-        <source-file src="src/wp/File.cs" />
-
-        <!-- wp specific file apis -->
-        <js-module src="www/wp/FileUploadOptions.js" name="FileUploadOptions1">
-            <merges target="window.FileUploadOptions" />
-        </js-module>
-
-    </platform>
-
-    <!-- blackberry10 -->
-    <platform name="blackberry10">
-        <config-file target="www/config.xml" parent="/widget">
-            <feature name="File" value="File" />
-        </config-file>
-        <js-module src="www/blackberry10/fileUtils.js" name="BB10Utils" />
-        <js-module src="www/blackberry10/DirectoryEntry.js" name="BB10DirectoryEntry">
-            <clobbers target="window.DirectoryEntry" />
-        </js-module>
-        <js-module src="www/blackberry10/DirectoryReader.js" name="BB10DirectoryReader">
-            <clobbers target="window.DirectoryReader" />
-        </js-module>
-        <js-module src="www/blackberry10/Entry.js" name="BB10Entry">
-            <clobbers target="window.Entry" />
-        </js-module>
-        <js-module src="www/blackberry10/File.js" name="BB10File">
-            <clobbers target="window.File" />
-        </js-module>
-        <js-module src="www/blackberry10/FileEntry.js" name="BB10FileEntry">
-            <clobbers target="window.FileEntry" />
-        </js-module>
-        <js-module src="www/blackberry10/FileReader.js" name="BB10FileReader">
-            <clobbers target="window.FileReader" />
-        </js-module>
-        <js-module src="www/blackberry10/FileSystem.js" name="BB10FileSystem">
-            <clobbers target="window.FileSystem" />
-        </js-module>
-        <js-module src="www/blackberry10/FileWriter.js" name="BB10FileWriter">
-            <clobbers target="window.FileWriter" />
-        </js-module>
-        <js-module src="www/blackberry10/requestFileSystem.js" name="BB10requestFileSystem">
-            <clobbers target="window.requestFileSystem" />
-        </js-module>
-        <js-module src="www/blackberry10/resolveLocalFileSystemURI.js" name="BB10resolveLocalFileSystemURI">
-            <clobbers target="window.resolveLocalFileSystemURI" />
-        </js-module>
-        <js-module src="www/blackberry10/resolveLocalFileSystemURL.js" name="BB10resolveLocalFileSystemURL">
-            <clobbers target="window.resolveLocalFileSystemURL" />
-        </js-module>
-        <source-file src="src/blackberry10/index.js"></source-file>
-    </platform>
-
-    <!-- windows8 -->
-    <platform name="windows8">
-        <js-module src="src/windows8/FileProxy.js" name="FileProxy">
-            <merges target="" />
-        </js-module>
-    </platform>
-
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/src/android/ContentFilesystem.java
----------------------------------------------------------------------
diff --git a/src/android/ContentFilesystem.java b/src/android/ContentFilesystem.java
deleted file mode 100644
index 4206033..0000000
--- a/src/android/ContentFilesystem.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you under the Apache License, Version 2.0 (the
-       "License"); you may not use this file except in compliance
-       with the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing,
-       software distributed under the License is distributed on an
-       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-       KIND, either express or implied.  See the License for the
-       specific language governing permissions and limitations
-       under the License.
- */
-package org.apache.cordova.file;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.apache.cordova.CordovaInterface;
-import org.apache.cordova.CordovaResourceApi;
-import org.apache.cordova.CordovaWebView;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import android.content.ContentResolver;
-import android.database.Cursor;
-import android.net.Uri;
-import android.provider.MediaStore;
-import android.provider.OpenableColumns;
-
-public class ContentFilesystem extends Filesystem {
-
-	private CordovaInterface cordova;
-	private CordovaResourceApi resourceApi;
-	
-	public ContentFilesystem(String name, CordovaInterface cordova, CordovaWebView webView) {
-		this.name = name;
-		this.cordova = cordova;
-		this.resourceApi = new CordovaResourceApi(webView.getContext(), webView.pluginManager);
-	}
-	
-	@Override
-	public JSONObject getEntryForLocalURL(LocalFilesystemURL inputURL) throws IOException {
-		// Get the cursor to validate that the file exists
-		Cursor cursor = openCursorForURL(inputURL);
-		String filePath = null;
-		try {
-			if (cursor == null || !cursor.moveToFirst()) {
-				throw new FileNotFoundException();
-			}
-			filePath = filesystemPathForCursor(cursor);
-		} finally {
-			if (cursor != null)
-				cursor.close();
-		}
-		if (filePath == null) {
-			filePath = inputURL.URL.toString();
-		} else {
-			filePath = "file://" + filePath;
-		}
-		try {
-			return makeEntryForPath(inputURL.fullPath, inputURL.filesystemName, false /*fp.isDirectory()*/, filePath);
-		} catch (JSONException e) {
-			throw new IOException();
-		}
-	}
-	
-    @Override
-	public JSONObject getFileForLocalURL(LocalFilesystemURL inputURL,
-			String fileName, JSONObject options, boolean directory) throws IOException, TypeMismatchException, JSONException {
-        if (options != null) {
-            if (options.optBoolean("create")) {
-        		throw new IOException("Cannot create content url");
-            }
-        }
-        LocalFilesystemURL requestedURL = new LocalFilesystemURL(Uri.withAppendedPath(inputURL.URL, fileName));
-        File fp = new File(this.filesystemPathForURL(requestedURL));
-        if (!fp.exists()) {
-            throw new FileNotFoundException("path does not exist");
-        }
-        if (directory) {
-            if (fp.isFile()) {
-                throw new TypeMismatchException("path doesn't exist or is file");
-            }
-        } else {
-            if (fp.isDirectory()) {
-                throw new TypeMismatchException("path doesn't exist or is directory");
-            }
-        }
-        // Return the directory
-        return makeEntryForPath(requestedURL.fullPath, requestedURL.filesystemName, directory, Uri.fromFile(fp).toString());
-
-	}
-
-	@Override
-	public boolean removeFileAtLocalURL(LocalFilesystemURL inputURL)
-			throws NoModificationAllowedException {
-
-		String filePath = filesystemPathForURL(inputURL);
-		File file = new File(filePath);
-		try {
-			this.cordova.getActivity().getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
-					MediaStore.Images.Media.DATA + " = ?",
-					new String[] { filePath });
-		} catch (UnsupportedOperationException t) {
-			// Was seeing this on the File mobile-spec tests on 4.0.3 x86 emulator.
-			// The ContentResolver applies only when the file was registered in the
-			// first case, which is generally only the case with images.
-		}
-		return file.delete();
-	}
-
-	@Override
-	public boolean recursiveRemoveFileAtLocalURL(LocalFilesystemURL inputURL)
-			throws NoModificationAllowedException {
-		throw new NoModificationAllowedException("Cannot remove content url");
-	}
-
-	@Override
-	public JSONArray readEntriesAtLocalURL(LocalFilesystemURL inputURL)
-			throws FileNotFoundException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public JSONObject getFileMetadataForLocalURL(LocalFilesystemURL inputURL) throws FileNotFoundException {
-		Integer size = null;
-		Integer lastModified = null;
-        Cursor cursor = openCursorForURL(inputURL);
-        try {
-        	if (cursor != null && cursor.moveToFirst()) {
-        		size = resourceSizeForCursor(cursor);
-        		lastModified = lastModifiedDateForCursor(cursor);
-        	} else {
-    			throw new FileNotFoundException();
-        	}
-        } finally {
-        	if (cursor != null)
-        		cursor.close();
-        }
-
-        JSONObject metadata = new JSONObject();
-        try {
-        	metadata.put("size", size);
-        	metadata.put("type", resourceApi.getMimeType(inputURL.URL));
-        	metadata.put("name", inputURL.filesystemName);
-        	metadata.put("fullPath", inputURL.fullPath);
-        	metadata.put("lastModifiedDate", lastModified);
-        } catch (JSONException e) {
-        	return null;
-        }
-        return metadata;
-	}
-
-	@Override
-	public JSONObject copyFileToURL(LocalFilesystemURL destURL, String newName,
-			Filesystem srcFs, LocalFilesystemURL srcURL, boolean move)
-                    throws IOException, InvalidModificationException, JSONException,
-                    NoModificationAllowedException, FileExistsException {
-        if (LocalFilesystem.class.isInstance(srcFs)) {
-            /* Same FS, we can shortcut with CordovaResourceApi operations */
-            // Figure out where we should be copying to
-            final LocalFilesystemURL destinationURL = makeDestinationURL(newName, srcURL, destURL);
-
-            OutputStream os = resourceApi.openOutputStream(destURL.URL);
-            CordovaResourceApi.OpenForReadResult ofrr = resourceApi.openForRead(srcURL.URL);
-            if (move && !srcFs.canRemoveFileAtLocalURL(srcURL)) {
-                throw new NoModificationAllowedException("Cannot move file at source URL");
-            }
-            try {
-                resourceApi.copyResource(ofrr, os);
-            } catch (IOException e) {
-                throw new IOException("Cannot read file at source URL");
-            }
-            if (move) {
-                srcFs.removeFileAtLocalURL(srcURL);
-            }
-            return makeEntryForURL(destinationURL, false, destinationURL.URL.toString());
-        } else {
-            // Need to copy the hard way
-            return super.copyFileToURL(destURL, newName, srcFs, srcURL, move);
-		}
-	}
-
-    
-	@Override
-    public void readFileAtURL(LocalFilesystemURL inputURL, long start, long end,
-			ReadFileCallback readFileCallback) throws IOException {
-		CordovaResourceApi.OpenForReadResult ofrr = resourceApi.openForRead(inputURL.URL);
-        if (end < 0) {
-            end = ofrr.length;
-        }
-        long numBytesToRead = end - start;
-		try {
-			if (start > 0) {
-                ofrr.inputStream.skip(start);
-			}
-            LimitedInputStream inputStream = new LimitedInputStream(ofrr.inputStream, numBytesToRead);
-            readFileCallback.handleData(inputStream, ofrr.mimeType);
-		} finally {
-            ofrr.inputStream.close();
-		}
-	}
-
-	@Override
-	public long writeToFileAtURL(LocalFilesystemURL inputURL, String data,
-			int offset, boolean isBinary) throws NoModificationAllowedException {
-        throw new NoModificationAllowedException("Couldn't write to file given its content URI");
-    }
-	@Override
-	public long truncateFileAtURL(LocalFilesystemURL inputURL, long size)
-			throws NoModificationAllowedException {
-        throw new NoModificationAllowedException("Couldn't truncate file given its content URI");
-	}
-
-	protected Cursor openCursorForURL(LocalFilesystemURL url) {
-        ContentResolver contentResolver = this.cordova.getActivity().getContentResolver();
-        Cursor cursor = contentResolver.query(url.URL, null, null, null, null);
-        return cursor;
-	}
-
-	protected String filesystemPathForCursor(Cursor cursor) {
-        final String[] LOCAL_FILE_PROJECTION = { MediaStore.Images.Media.DATA };
-        int columnIndex = cursor.getColumnIndex(LOCAL_FILE_PROJECTION[0]);
-        if (columnIndex != -1) {
-            return cursor.getString(columnIndex);
-        }
-        return null;
-	}
-
-	protected Integer resourceSizeForCursor(Cursor cursor) {
-        int columnIndex = cursor.getColumnIndex(OpenableColumns.SIZE);
-        if (columnIndex != -1) {
-            String sizeStr = cursor.getString(columnIndex);
-            if (sizeStr != null) {
-            	return Integer.parseInt(sizeStr,10);
-            }
-        }
-        return null;
-	}
-	
-	protected Integer lastModifiedDateForCursor(Cursor cursor) {
-        final String[] LOCAL_FILE_PROJECTION = { MediaStore.MediaColumns.DATE_MODIFIED };
-        int columnIndex = cursor.getColumnIndex(LOCAL_FILE_PROJECTION[0]);
-        if (columnIndex != -1) {
-            String dateStr = cursor.getString(columnIndex);
-            if (dateStr != null) {
-            	return Integer.parseInt(dateStr,10);
-            }
-        }
-        return null;
-	}
-
-    @Override
-    public String filesystemPathForURL(LocalFilesystemURL url) {
-        Cursor cursor = openCursorForURL(url);
-        try {
-        	if (cursor != null && cursor.moveToFirst()) {
-        		return filesystemPathForCursor(cursor);
-        	}
-        } finally {
-            if (cursor != null)
-            	cursor.close();
-        }
-        return null;
-    }
-
-	@Override
-	public LocalFilesystemURL URLforFilesystemPath(String path) {
-		// Returns null as we don't support reverse mapping back to content:// URLs
-		return null;
-	}
-
-	@Override
-	public boolean canRemoveFileAtLocalURL(LocalFilesystemURL inputURL) {
-		String path = filesystemPathForURL(inputURL);
-		File file = new File(path);
-		return file.exists();
-	}
-
-	@Override
-	OutputStream getOutputStreamForURL(LocalFilesystemURL inputURL)
-			throws IOException {
-		OutputStream os = resourceApi.openOutputStream(inputURL.URL);
-		return os;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/src/android/DirectoryManager.java
----------------------------------------------------------------------
diff --git a/src/android/DirectoryManager.java b/src/android/DirectoryManager.java
deleted file mode 100644
index c2d1278..0000000
--- a/src/android/DirectoryManager.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you under the Apache License, Version 2.0 (the
-       "License"); you may not use this file except in compliance
-       with the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing,
-       software distributed under the License is distributed on an
-       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-       KIND, either express or implied.  See the License for the
-       specific language governing permissions and limitations
-       under the License.
-*/
-package org.apache.cordova.file;
-
-import android.os.Environment;
-import android.os.StatFs;
-
-import java.io.File;
-
-/**
- * This class provides file directory utilities.
- * All file operations are performed on the SD card.
- *
- * It is used by the FileUtils class.
- */
-public class DirectoryManager {
-
-    @SuppressWarnings("unused")
-    private static final String LOG_TAG = "DirectoryManager";
-
-    /**
-     * Determine if a file or directory exists.
-     * @param name				The name of the file to check.
-     * @return					T=exists, F=not found
-     */
-    public static boolean testFileExists(String name) {
-        boolean status;
-
-        // If SD card exists
-        if ((testSaveLocationExists()) && (!name.equals(""))) {
-            File path = Environment.getExternalStorageDirectory();
-            File newPath = constructFilePaths(path.toString(), name);
-            status = newPath.exists();
-        }
-        // If no SD card
-        else {
-            status = false;
-        }
-        return status;
-    }
-
-    /**
-     * Get the free disk space
-     * 
-     * @return 		Size in KB or -1 if not available
-     */
-    public static long getFreeDiskSpace(boolean checkInternal) {
-        String status = Environment.getExternalStorageState();
-        long freeSpace = 0;
-
-        // If SD card exists
-        if (status.equals(Environment.MEDIA_MOUNTED)) {
-            freeSpace = freeSpaceCalculation(Environment.getExternalStorageDirectory().getPath());
-        }
-        else if (checkInternal) {
-            freeSpace = freeSpaceCalculation("/");
-        }
-        // If no SD card and we haven't been asked to check the internal directory then return -1
-        else {
-            return -1;
-        }
-
-        return freeSpace;
-    }
-
-    /**
-     * Given a path return the number of free KB
-     * 
-     * @param path to the file system
-     * @return free space in KB
-     */
-    private static long freeSpaceCalculation(String path) {
-        StatFs stat = new StatFs(path);
-        long blockSize = stat.getBlockSize();
-        long availableBlocks = stat.getAvailableBlocks();
-        return availableBlocks * blockSize / 1024;
-    }
-
-    /**
-     * Determine if SD card exists.
-     * 
-     * @return				T=exists, F=not found
-     */
-    public static boolean testSaveLocationExists() {
-        String sDCardStatus = Environment.getExternalStorageState();
-        boolean status;
-
-        // If SD card is mounted
-        if (sDCardStatus.equals(Environment.MEDIA_MOUNTED)) {
-            status = true;
-        }
-
-        // If no SD card
-        else {
-            status = false;
-        }
-        return status;
-    }
-
-    /**
-     * Create a new file object from two file paths.
-     *
-     * @param file1			Base file path
-     * @param file2			Remaining file path
-     * @return				File object
-     */
-    private static File constructFilePaths (String file1, String file2) {
-        File newPath;
-        if (file2.startsWith(file1)) {
-            newPath = new File(file2);
-        }
-        else {
-            newPath = new File(file1 + "/" + file2);
-        }
-        return newPath;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/src/android/EncodingException.java
----------------------------------------------------------------------
diff --git a/src/android/EncodingException.java b/src/android/EncodingException.java
deleted file mode 100644
index e9e1653..0000000
--- a/src/android/EncodingException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you under the Apache License, Version 2.0 (the
-       "License"); you may not use this file except in compliance
-       with the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing,
-       software distributed under the License is distributed on an
-       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-       KIND, either express or implied.  See the License for the
-       specific language governing permissions and limitations
-       under the License.
-*/
-
-package org.apache.cordova.file;
-
-@SuppressWarnings("serial")
-public class EncodingException extends Exception {
-
-    public EncodingException(String message) {
-        super(message);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/src/android/FileExistsException.java
----------------------------------------------------------------------
diff --git a/src/android/FileExistsException.java b/src/android/FileExistsException.java
deleted file mode 100644
index 5c4d83d..0000000
--- a/src/android/FileExistsException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you under the Apache License, Version 2.0 (the
-       "License"); you may not use this file except in compliance
-       with the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing,
-       software distributed under the License is distributed on an
-       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-       KIND, either express or implied.  See the License for the
-       specific language governing permissions and limitations
-       under the License.
-*/
-
-package org.apache.cordova.file;
-
-@SuppressWarnings("serial")
-public class FileExistsException extends Exception {
-
-    public FileExistsException(String msg) {
-        super(msg);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/9976b306/src/android/FileHelper.java
----------------------------------------------------------------------
diff --git a/src/android/FileHelper.java b/src/android/FileHelper.java
deleted file mode 100644
index 9e8b626..0000000
--- a/src/android/FileHelper.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you under the Apache License, Version 2.0 (the
-       "License"); you may not use this file except in compliance
-       with the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing,
-       software distributed under the License is distributed on an
-       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-       KIND, either express or implied.  See the License for the
-       specific language governing permissions and limitations
-       under the License.
- */
-package org.apache.cordova.file;
-
-import android.database.Cursor;
-import android.net.Uri;
-import android.webkit.MimeTypeMap;
-
-import org.apache.cordova.CordovaInterface;
-import org.apache.cordova.LOG;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Locale;
-
-public class FileHelper {
-    private static final String LOG_TAG = "FileUtils";
-    private static final String _DATA = "_data";
-
-    /**
-     * Returns the real path of the given URI string.
-     * If the given URI string represents a content:// URI, the real path is retrieved from the media store.
-     *
-     * @param uriString the URI string of the audio/image/video
-     * @param cordova the current application context
-     * @return the full path to the file
-     */
-    @SuppressWarnings("deprecation")
-    public static String getRealPath(String uriString, CordovaInterface cordova) {
-        String realPath = null;
-
-        if (uriString.startsWith("content://")) {
-            String[] proj = { _DATA };
-            Cursor cursor = cordova.getActivity().managedQuery(Uri.parse(uriString), proj, null, null, null);
-            int column_index = cursor.getColumnIndexOrThrow(_DATA);
-            cursor.moveToFirst();
-            realPath = cursor.getString(column_index);
-            if (realPath == null) {
-                LOG.e(LOG_TAG, "Could get real path for URI string %s", uriString);
-            }
-        } else if (uriString.startsWith("file://")) {
-            realPath = uriString.substring(7);
-            if (realPath.startsWith("/android_asset/")) {
-                LOG.e(LOG_TAG, "Cannot get real path for URI string %s because it is a file:///android_asset/ URI.", uriString);
-                realPath = null;
-            }
-        } else {
-            realPath = uriString;
-        }
-
-        return realPath;
-    }
-
-    /**
-     * Returns the real path of the given URI.
-     * If the given URI is a content:// URI, the real path is retrieved from the media store.
-     *
-     * @param uri the URI of the audio/image/video
-     * @param cordova the current application context
-     * @return the full path to the file
-     */
-    public static String getRealPath(Uri uri, CordovaInterface cordova) {
-        return FileHelper.getRealPath(uri.toString(), cordova);
-    }
-
-    /**
-     * Returns an input stream based on given URI string.
-     *
-     * @param uriString the URI string from which to obtain the input stream
-     * @param cordova the current application context
-     * @return an input stream into the data at the given URI or null if given an invalid URI string
-     * @throws IOException
-     */
-    public static InputStream getInputStreamFromUriString(String uriString, CordovaInterface cordova) throws IOException {
-        if (uriString.startsWith("content")) {
-            Uri uri = Uri.parse(uriString);
-            return cordova.getActivity().getContentResolver().openInputStream(uri);
-        } else if (uriString.startsWith("file://")) {
-            int question = uriString.indexOf("?");
-            if (question > -1) {
-            	uriString = uriString.substring(0,question);
-            }
-            if (uriString.startsWith("file:///android_asset/")) {
-                Uri uri = Uri.parse(uriString);
-                String relativePath = uri.getPath().substring(15);
-                return cordova.getActivity().getAssets().open(relativePath);
-            } else {
-                return new FileInputStream(getRealPath(uriString, cordova));
-            }
-        } else {
-            return new FileInputStream(getRealPath(uriString, cordova));
-        }
-    }
-
-    /**
-     * Removes the "file://" prefix from the given URI string, if applicable.
-     * If the given URI string doesn't have a "file://" prefix, it is returned unchanged.
-     *
-     * @param uriString the URI string to operate on
-     * @return a path without the "file://" prefix
-     */
-    public static String stripFileProtocol(String uriString) {
-        if (uriString.startsWith("file://")) {
-            uriString = uriString.substring(7);
-        }
-        return uriString;
-    }
-
-    public static String getMimeTypeForExtension(String path) {
-        String extension = path;
-        int lastDot = extension.lastIndexOf('.');
-        if (lastDot != -1) {
-            extension = extension.substring(lastDot + 1);
-        }
-        // Convert the URI string to lower case to ensure compatibility with MimeTypeMap (see CB-2185).
-        extension = extension.toLowerCase(Locale.getDefault());
-        if (extension.equals("3ga")) {
-            return "audio/3gpp";
-        }
-        return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
-    }
-    
-    /**
-     * Returns the mime type of the data specified by the given URI string.
-     *
-     * @param uriString the URI string of the data
-     * @return the mime type of the specified data
-     */
-    public static String getMimeType(String uriString, CordovaInterface cordova) {
-        String mimeType = null;
-
-        Uri uri = Uri.parse(uriString);
-        if (uriString.startsWith("content://")) {
-            mimeType = cordova.getActivity().getContentResolver().getType(uri);
-        } else {
-            mimeType = getMimeTypeForExtension(uri.getPath());
-        }
-
-        return mimeType;
-    }
-}