[
https://issues.apache.org/jira/browse/CB-5059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14295336#comment-14295336
]
ASF GitHub Bot commented on CB-5059:
------------------------------------
Github user agrieve commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-file-transfer/pull/60#discussion_r23698327
--- Diff: src/android/FileTransfer.java ---
@@ -316,7 +316,7 @@ public void run() {
conn.setRequestProperty("Content-Type",
"multipart/form-data; boundary=" + BOUNDARY);
// Set the cookies on the response
- String cookie =
CookieManager.getInstance().getCookie(target);
+ String cookie =
webView.getCookieManager().getCookie(target);
--- End diff --
I think we'll need to use reflection here to keep the plugin compatible
with 3.x versions of android.
e.g.: Look at how getPluginManager() is handled on line 854.
> 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.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]