Closed dangermoose23 closed 5 years ago
No problems with v4.6 on my devices running Android 6 or newer. Do you have a firewall blocking the app?
Nope. Maybe it's KitKat
Can confirm for App version 4.2 and 4.5 on Android 4.4.2 (unrooted) over WiFi and 4G
Hi lorindol. Is it working or not working for you?
sorry for the confusion, it's NOT working. I tried wifi vs. 4g and then updated to 4.5. Will try 4.6 next.
@dangermoose23 @lorindol could any of you look into LogCat of the device for messages related to the Simple Dilbert? That would help a lot, to solve the issue. Thanks
I'll look into that as soon as possible. Would running HEAD through a recent android studio do the trick?
@lorindol sure, HEAD is currently 4.6, if you find no issue with 4.6, please test with TAG v4.5 or v4.4 or v4.2, and we'll see. Older versions do use incorrect url parsing, so that might be the issue for v4.2 you mentioned, however v4.5 uses only slightly different parsing, which should not cause the issue. Anyway thank you beforehand :+1:
Seems to be an SSL problem: 12-05 20:22:10.108 31767-31793/? E/GetStripUrl: HttpGet failed javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x75802008: I/O error during system call, Connection reset by peer at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method) at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405) at a.a.a.a.e.c.f.a(Unknown Source) at a.a.a.a.e.c.f.a(Unknown Source) at a.a.a.a.i.c.e.a(Unknown Source) at a.a.a.a.i.c.p.a(Unknown Source) at a.a.a.a.i.f.e.a(Unknown Source) at a.a.a.a.i.f.e.a(Unknown Source) at a.a.a.a.i.f.f.a(Unknown Source) at a.a.a.a.i.f.k.a(Unknown Source) at a.a.a.a.i.f.g.a(Unknown Source) at a.a.a.a.i.b.m.a(Unknown Source) at a.a.a.a.i.b.e.a(Unknown Source) at a.a.a.a.i.b.e.a(Unknown Source) at com.mareksebera.simpledilbert.utilities.c.a(Unknown Source) at com.mareksebera.simpledilbert.utilities.c.doInBackground(Unknown Source) at android.os.AsyncTask$2.call(AsyncTask.java:288) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841)
@lorindol thank you very much, we had this coming for a long time, i've produced attempt to fix the issue by using different Http library in 82d5ac248c2ef4201dd2a97da1997cf52195a6e5
Could you please again test with HEAD ? Cheers!
@lorindol also, please, if you can test the widget? i'd like to think, that #48 got fixed too with latest commit, thank you
Same problem, different output. Plus, it's a bit tricky to build the app with a different name when you import R manually everywhere (I didn't want to overwrite the original one so that i don't lose favorites)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: java.util.concurrent.ExecutionException: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x7594b368: I/O error during system call, Connection reset by peer
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.RequestFuture.doGet(RequestFuture.java:124)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.RequestFuture.get(RequestFuture.java:97)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.mareksebera.simpledilbert.utilities.GetStripUrl.doInBackground(GetStripUrl.java:82)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.mareksebera.simpledilbert.utilities.GetStripUrl.doInBackground(GetStripUrl.java:26)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:288)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
12-06 14:06:26.336 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at java.lang.Thread.run(Thread.java:841)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: Caused by: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x7594b368: I/O error during system call, Connection reset by peer
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:181)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: Caused by: javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x7594b368: I/O error during system call, Connection reset by peer
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
12-06 14:06:26.346 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.Connection.connect(Connection.java:107)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:136)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.HurlStack.executeRequest(HurlStack.java:96)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:123)
12-06 14:06:26.356 15140-15220/com.mareksebera.simpledilbertgit W/System.err: ... 3 more
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: java.util.concurrent.ExecutionException: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x75988930: I/O error during system call, Connection reset by peer
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.RequestFuture.doGet(RequestFuture.java:124)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.RequestFuture.get(RequestFuture.java:97)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.mareksebera.simpledilbert.utilities.GetStripUrl.doInBackground(GetStripUrl.java:82)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.mareksebera.simpledilbert.utilities.GetStripUrl.doInBackground(GetStripUrl.java:26)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:288)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at java.lang.Thread.run(Thread.java:841)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: Caused by: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x75988930: I/O error during system call, Connection reset by peer
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:181)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: Caused by: javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x75988930: I/O error during system call, Connection reset by peer
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.Connection.connect(Connection.java:107)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
12-06 14:06:36.936 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:136)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.HurlStack.executeRequest(HurlStack.java:96)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:123)
12-06 14:06:36.946 15140-15229/com.mareksebera.simpledilbertgit W/System.err: ... 3 more
Thank you, I've allowed myself to format your response, for stacktrace to be readable
TL;DR : Please @lorindol test latest HEAD (871199f1a132f508242c7ecc908e99c19d356dd9) , lower I list some explanation to the issue for future reference
The issue I've concluded, is in SSL/TLS versions support vs. SSL/TLS version enabled/supported by Android OS level/sdk/api
According to this comment https://stackoverflow.com/a/51322544/492624 Support for TLSv1.1 and TLSv1.2 (only those are available on dilbert.com server), is available, however not enabled by default. Also related issues are: https://github.com/google/volley/issues/77 https://github.com/smarek/httpclient-android/issues/18
Because dilbert.com does not support/provide SSL1/SSL2/SSL3 protocols, and supports only TLS1.1 and TLS1.2, we can safely switch from SSLSocketFactory to TLSSocketFactory
Inspiration for solution taken from https://github.com/square/okhttp/issues/2372 https://medium.com/tech-quizlet/working-with-tls-1-2-on-android-4-4-and-lower-f4f5205629a
Also what could work is to update GMS security component, which provides system-wide TLS support, however since this app is FDroid-exclusive, i don't want to introduce dependency on GMS. If you're personally OK with something like that, see more info here: https://developer.android.com/training/articles/security-gms-provider
dilbert.com also does not use SNI, so there is currently no need to use something like https://github.com/erickok/transdroid/blob/master/app/src/main/java/org/transdroid/daemon/util/TlsSniSocketFactory.java , however that might change in the future
@lorindol also for easy build/install with different package name, use android.defaultConfig.applicationId in build.gradle, like this
> git diff
diff --git a/build.gradle b/build.gradle
index e731ded..2707bea 100755
--- a/build.gradle
+++ b/build.gradle
@@ -44,6 +44,7 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 28
+ applicationId "com.test.simpledilbert"
}
lintOptions {
Ah, thx, i changed it in the Manifest. What i did earlier was to make a git pull from master and recompile. I'll try again later and will check the commit hash.
Just out of curiosity, if i were to change the Url in the GetStripUrl class and the patterns in the FindUrl class, i should be able to view another comic like xkcd, correct?
@lorindol sure, changing the logic in GetStripUrl (getting url of image and title of comic) should suffice for similar single-image / single-title comics. XKCD is not really similar, as some of the images are animated (gif playing is different in Android then displaying JPG/PNG/...), some are multi-images and title is not everything, as XKCD uses title of image (on mouse hover title), so you'd need more to adapt the SimpleDilbert to something like SimpleXKCD
@lorindol did you have time to test new changes? I've tried, and it seems like some older comics do not load at all, but did not debug it yet.
I just tried it, worked again, i also get strips from 1993. Thanks for the quick fix.
@lorindol even in widget? there I seem to find new problems
Ok, so I've identified an issue with df634eefc9a72e5b10770f1dc5bf5512b44d09fe and pushed fix in 1246c1e7de0fdf9092c93df7affce414fe2ed541 . This discussion can now be closed, as all mentioned issues are resolved. Thank you all
Great news! So, how do I get that version?
On Tue, 18 Dec 2018 11:09 Marek Sebera, notifications@github.com wrote:
Closed #56 https://github.com/smarek/Simple-Dilbert/issues/56.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/smarek/Simple-Dilbert/issues/56#event-2032677974, or mute the thread https://github.com/notifications/unsubscribe-auth/AraT3grn9CuANxUlszqibdduOFtypYQAks5u6MzggaJpZM4Y9COG .
4.7 will be out on FDroid in a while, already waiting for approval https://gitlab.com/fdroid/fdroiddata/merge_requests/4119
Brilliant! Thanks : )
On Tue, 18 Dec 2018 11:45 Marek Sebera, notifications@github.com wrote:
4.7 will be out on FDroid in a while, already waiting for approval https://gitlab.com/fdroid/fdroiddata/merge_requests/4119
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/smarek/Simple-Dilbert/issues/56#issuecomment-448193543, or mute the thread https://github.com/notifications/unsubscribe-auth/AraT3mv4edRqFGivuK34pq3yt0eOGpCfks5u6NVcgaJpZM4Y9COG .
4.7 works great. Thanks for all your hard work! :-)
Thanks a lot for the great work on simple-dilbert. I have the same issue on Android 9. logcat related to simple-dilbert: 03-03 11:44:07.207 2926 5167 I ActivityManager: Killing 25176:com.mareksebera.simpledilbert/u0a144 (adj 903): remove task 03-03 11:44:07.257 2926 4210 I WindowManager: WIN DEATH: Window{c58e507 u0 com.mareksebera.simpledilbert/com.mareksebera.simpledilbert.core.DilbertFragmentActivity} 03-03 11:45:01.419 2926 3565 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.mareksebera.simpledilbert/.core.DilbertFragmentActivity bnds=[839,1662][1039,1963]} from uid 10031 03-03 11:45:01.446 2926 3565 D ActivityTrigger: activityStartTrigger: Activity is Triggerred in full screen ApplicationInfo{7a9396f com.mareksebera.simpledilbert} 03-03 11:45:01.446 2926 3565 E ActivityTrigger: activityStartTrigger: not whiteListedcom.mareksebera.simpledilbert/com.mareksebera.simpledilbert.core.DilbertFragmentActivity/40 03-03 11:45:01.447 2926 3565 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{7a9396f com.mareksebera.simpledilbert} is now in focus and seems to be in full-screen mode 03-03 11:45:01.447 2926 3565 E ActivityTrigger: activityResumeTrigger: not whiteListedcom.mareksebera.simpledilbert/com.mareksebera.simpledilbert.core.DilbertFragmentActivity/40 03-03 11:45:01.454 2926 3565 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{7a9396f com.mareksebera.simpledilbert} is now in focus and seems to be in full-screen mode 03-03 11:45:01.454 2926 3565 E ActivityTrigger: activityResumeTrigger: not whiteListedcom.mareksebera.simpledilbert/com.mareksebera.simpledilbert.core.DilbertFragmentActivity/40 03-03 11:45:01.478 2926 2963 I ActivityManager: Start proc 15603:com.mareksebera.simpledilbert/u0a144 for activity com.mareksebera.simpledilbert/.core.DilbertFragmentActivity 03-03 11:45:02.458 2926 2981 I ActivityManager: Displayed com.mareksebera.simpledilbert/.core.DilbertFragmentActivity: +999ms 03-03 11:45:04.493 2926 5040 W NotificationService: Toast already killed. pkg=com.mareksebera.simpledilbert callback=android.app.ITransientNotification$Stub$Proxy@5484e9 03-03 11:45:13.488 2926 3565 W NotificationService: Toast already killed. pkg=com.mareksebera.simpledilbert callback=android.app.ITransientNotification$Stub$Proxy@96f9ea0 03-03 11:45:24.881 2926 3133 I WindowManager: Screen frozen for +638ms due to Window{977efd0 u0 com.mareksebera.simpledilbert/com.mareksebera.simpledilbert.core.DilbertFragmentActivity} 03-03 11:45:27.037 2926 3141 W NotificationService: Toast already killed. pkg=com.mareksebera.simpledilbert callback=android.app.ITransientNotification$Stub$Proxy@10d4b7e 03-03 11:46:10.200 2926 3793 W NotificationService: Toast already killed. pkg=com.mareksebera.simpledilbert callback=android.app.ITransientNotification$Stub$Proxy@fb79630 03-03 11:46:15.364 15603 15603 I chatty : uid=10144(com.mareksebera.simpledilbert) identical 1 line 03-03 11:46:20.634 2926 8492 W NotificationService: Toast already killed. pkg=com.mareksebera.simpledilbert callback=android.app.ITransientNotification$Stub$Proxy@90bfd92
Since the 14th of November I've been getting this message: "Dilbert.com is not available. Loading failed." and no strips have been downloading
This is on version 4.4, 4.5 & 4.6 over wifi & 4G on an Android 4.4.2 phone (rooted) and a 4.4.2 tablet (unrooted, wifi only)
Open in browser works for strips already downloaded, but nothing happens for later strips
I was hoping it was a temporary glitch, but no such luck! Any ideas?