Crash when sharing content to Fedilab with cleartext HTTP URL
Full stacktrace:
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: fr.gouv.etalab.mastodon, PID: 3637
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:354)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassCastException: com.android.okhttp.internal.huc.HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection
at app.fedilab.android.client.HttpsConnection.get(HttpsConnection.java:274)
at app.fedilab.android.asynctasks.RetrieveMetaDataAsyncTask.execRetrieveMetaDataInBackground(RetrieveMetaDataAsyncTask.java:106)
at app.fedilab.android.asynctasks.RetrieveMetaDataAsyncTask.doInBackground(RetrieveMetaDataAsyncTask.java:65)
at app.fedilab.android.asynctasks.RetrieveMetaDataAsyncTask.doInBackground(RetrieveMetaDataAsyncTask.java:44)
The problem lies here. It's a bad cast. Since the URL is a clear http://
, the connection should be cast to HttpURLConnection
and not HttpsURLConnection
.
This might be related to #414 (closed).