Junmin created CB-5059:
--------------------------
Summary: The android implementation of file transfer plugin should
not depend on the concrete class android.webkit.CookieManager
Key: CB-5059
URL: https://issues.apache.org/jira/browse/CB-5059
Project: Apache Cordova
Issue Type: Improvement
Components: Plugin File Transfer
Affects Versions: Master
Environment: cordova-android, git branch 3.0.x
Reporter: Junmin
Fix For: Master
The android implementation of file transfer plugin leverages the class
android.webkit.CookieManager, which depends on the concrete web infrastructure
android.webkit.WebView. This dependence ruins the portability of the plugin.
For example, it could not run on a substantial implementation of CordovaWebView
which based on a android third party component(such as chromium for android).
Following is the crash log when initializing the CookieManager without
android.webkit.WebView:
I/dalvikvm(5006): java.lang.IllegalStateException: Call
CookieSyncManager::createInstance() or create a webview before using this class
I/dalvikvm(5006): at android.webkit.JniUtil.checkInitialized(JniUtil.java:44)
I/dalvikvm(5006): at
android.webkit.JniUtil.getDatabaseDirectory(JniUtil.java:65)
I/dalvikvm(5006): at
android.webkit.CookieManagerClassic.nativeGetCookie(Native Method)
I/dalvikvm(5006): at
android.webkit.CookieManagerClassic.getCookie(CookieManagerClassic.java:109)
I/dalvikvm(5006): at
android.webkit.CookieManagerClassic.getCookie(CookieManagerClassic.java:96)
I/dalvikvm(5006): at
org.apache.cordova.filetransfer.FileTransfer$4.run(FileTransfer.java:747)
--
This message was sent by Atlassian JIRA
(v6.1#6144)