Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TTransportException on listNotebooks() #56

Open
tfrenken opened this issue Jun 5, 2016 · 1 comment
Open

TTransportException on listNotebooks() #56

tfrenken opened this issue Jun 5, 2016 · 1 comment

Comments

@tfrenken
Copy link

tfrenken commented Jun 5, 2016

Hi,

I hope the Android SDK is still developed since I got a problem with it.

I am already able to login sucessfully with my app but whenever I try to make a connection to retrieve information I get an error. For example, when calling noteStoreClient.listNotebooks(); after logging in, I get the following error:

06-05 14:38:17.710 29267-29267/de.wocheplaner W/System.err: com.evernote.thrift.transport.TTransportException: android.os.NetworkOnMainThreadException 06-05 14:38:17.715 29267-29267/de.wocheplaner W/System.err: at com.evernote.client.conn.mobile.TAndroidTransport.flush(TAndroidTransport.java:136) 06-05 14:38:17.715 29267-29267/de.wocheplaner W/System.err: at com.evernote.edam.notestore.NoteStore$Client.send_listNotebooks(NoteStore.java:332) 06-05 14:38:17.715 29267-29267/de.wocheplaner W/System.err: at com.evernote.edam.notestore.NoteStore$Client.listNotebooks(NoteStore.java:321) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at com.evernote.client.android.asyncclient.EvernoteNoteStoreClient.listNotebooks(EvernoteNoteStoreClient.java:145) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at de.wocheplaner.MainActivity.refreshRecipes(MainActivity.java:183) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at de.wocheplaner.MainActivity.onLoginFinished(MainActivity.java:160) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at com.evernote.client.android.login.EvernoteLoginFragment.onResult(EvernoteLoginFragment.java:150) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at java.lang.reflect.Method.invoke(Native Method) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at net.vrallev.android.task.TargetMethodFinder.invoke(TargetMethodFinder.java:110) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at net.vrallev.android.task.TargetMethodFinder.invoke(TargetMethodFinder.java:102) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at net.vrallev.android.task.TaskExecutor.postResultNow(TaskExecutor.java:171) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at net.vrallev.android.task.TaskExecutor$TaskRunnable$1.run(TaskExecutor.java:236) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at android.os.Handler.handleCallback(Handler.java:739) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at android.os.Looper.loop(Looper.java:148) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5417) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at java.lang.reflect.Method.invoke(Native Method) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 06-05 14:38:17.716 29267-29267/de.wocheplaner W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 06-05 14:38:17.717 29267-29267/de.wocheplaner W/System.err: Caused by: android.os.NetworkOnMainThreadException 06-05 14:38:17.722 29267-29267/de.wocheplaner W/System.err: at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273) 06-05 14:38:17.722 29267-29267/de.wocheplaner W/System.err: at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:688) 06-05 14:38:17.722 29267-29267/de.wocheplaner W/System.err: at okio.Okio$2.read(Okio.java:137) 06-05 14:38:17.722 29267-29267/de.wocheplaner W/System.err: at okio.AsyncTimeout$2.read(AsyncTimeout.java:211) 06-05 14:38:17.722 29267-29267/de.wocheplaner W/System.err: at okio.RealBufferedSource.exhausted(RealBufferedSource.java:60) 06-05 14:38:17.722 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.internal.http.HttpConnection.isReadable(HttpConnection.java:155) 06-05 14:38:17.722 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.Connection.isReadable(Connection.java:235) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.OkHttpClient$1.isReadable(OkHttpClient.java:91) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:350) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:340) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.Call.getResponse(Call.java:273) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:230) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:201) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.squareup.okhttp.Call.execute(Call.java:81) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: at com.evernote.client.conn.mobile.TAndroidTransport.flush(TAndroidTransport.java:127) 06-05 14:38:17.723 29267-29267/de.wocheplaner W/System.err: ... 18 more

Currenty, after some investigation I assume that this error may be related to the deprecation of org.apache.http package after android 23. However, all suggested solution (using useLibrary 'org.apache.http.legacy') did not make any difference.

Any chance for help?

Best regards,
Thomas

@tfrenken
Copy link
Author

tfrenken commented Jun 6, 2016

OK, got it myself. listNotebooks() performs a network operation which is not allowed on the main thread since API > 23. Therefore, listNotebooks() cannot be called on the main thread.

Shifted it to a AsyncTask and all works fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant