Bug - opening PDFs from external app with Neo-reader


#1

I really like the Neo reader, but the library function not too much. I use Mendeley and Browzine for selecting/opening pdfs (medical literature). But the internal pdf browsers of these apps are nothing like Neo reader. But if I choose “open with” and then Neo reader; the Neo reader opens but it doesn’t load any pdf.
First exporting to dropbox and save a local copy, then opening the same pdf from the library will work, but this is cumbersome. It’s even sometimes hard to find the titles, becaus the pdf-titles are not properly given nor categorized.
I really hope this bug will be fixed, or that anyone has a more simple workaround for me!


Neoreader Bug Opening from External Apps
#2

Hi, the Mendeley and Browzine both are third party apps, they might not be compatible well with our devices. But thank you for your kind suggestion, I’ll forward it to our R&D team. Thank you.


#3

Hi @Afra,
I wanted to report the same thing, so I’m attaching it here. Please also forward to R&D as well.

As far as I can tell there’s a problem when Neo is asked to open a document from a File ContentProvider. This would be a problem that has to be fixed inside Neo and applies to all similar usages. For example Cannot open pdf from google drive is the exact same problem.
I have the problem when opening a PDF from Nextcloud Client, on Max2.

Here is the relevant stack trace (I removed stuff relating only to wifi and screen updates):

07-23 13:02:53.740   554  2530 I ActivityManager: START u0 {act=android.intent.action.CHOOSER flg=0x3 cmp=android/com.android.internal.app.ChooserActivity clip={application/pdf U:content://org.nextcloud.files/external_files/emulated/0/Android/media/com.nextcloud.client/nextcloud/henryk%40REDACTED/REDACTED.pdf} (has extras)} from uid 10059 on display 0
07-23 13:02:53.743  2743  2743 V FileDisplayActivity: onPause() start
07-23 13:02:53.749  2743  2743 D FileDisplayActivity: onPause() ending
07-23 13:02:53.750  2743  2743 V FileDisplayActivity: onPause() end
07-23 13:02:54.019  6376  6389 D mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000
07-23 13:02:54.284   554   575 I ActivityManager: Displayed android/com.android.internal.app.ChooserActivity: +534ms
07-23 13:02:54.354  2743  2743 V FileDisplayActivity: onSaveInstanceState() start
07-23 13:02:54.355  2743  2743 D FileDisplayActivity: onSaveInstanceState(Bundle) starting
07-23 13:02:54.355  2743  2743 D ExtendedListFragment: onSaveInstanceState()
07-23 13:02:54.357  2743  2743 V FileDisplayActivity: onSaveInstanceState() end
07-23 13:03:25.005   554  1064 I ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://org.nextcloud.files/external_files/emulated/0/Android/media/com.nextcloud.client/nextcloud/henryk@REDACTED/REDACTED.pdf typ=application/pdf flg=0x3000003 cmp=com.onyx.kreader/.ui.ReaderTabHostActivity} from uid 10059 on display 0
07-23 13:03:25.082   554   575 D WindowStateAnimator: rk_debug2 Starting com.onyx.kreader_Force_To_Dual
07-23 13:03:25.110  2743  2743 D FileDisplayActivity: onStop() ending
07-23 13:03:25.282  4021  4021 E ReaderTab3Activity: onDocumentDeactivated
07-23 13:03:25.287  4076  4076 E ReaderTab1Activity: onDocumentDeactivated
07-23 13:03:25.343  4021  4021 E ReaderTab3Activity: onDocumentDeactivated
07-23 13:03:25.416  4238  4238 E ReaderTab4Activity: onDocumentDeactivated
07-23 13:03:25.424  4021  4021 E ReaderTab3Activity: onDocumentDeactivated
07-23 13:03:25.482  4076  4076 E ReaderTab1Activity: onDocumentDeactivated
07-23 13:03:25.507  4021  4021 E ReaderTab3Activity: onDocumentDeactivated
07-23 13:03:25.513  4076  4076 E ReaderTab1Activity: onDocumentDeactivated
07-23 13:03:25.616  2340  2360 D mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000
07-23 13:03:25.802   192   192 I hwcomposer: update_to_display(): upd_data -- marker[17505] waveform_mode = 255, update_mode = 0, Rect[0 0 2200 1650]
07-23 13:03:25.810  2340  2340 E CursorWindow: Failed to read row 0, column 0 from a CursorWindow which has 1 rows, 0 columns.
07-23 13:03:25.877  2340  2340 W System.err: java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
07-23 13:03:25.878  2340  2340 W System.err:    at android.database.CursorWindow.nativeGetString(Native Method)
07-23 13:03:25.878  2340  2340 W System.err:    at android.database.CursorWindow.getString(CursorWindow.java:438)
07-23 13:03:25.878  2340  2340 W System.err:    at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:54)
07-23 13:03:25.878  2340  2340 W System.err:    at android.database.CursorWrapper.getString(CursorWrapper.java:137)
07-23 13:03:25.878  2340  2340 W System.err:    at com.onyx.android.sdk.utils.FileUtils.a(SourceFile:382)
07-23 13:03:25.878  2340  2340 W System.err:    at com.onyx.android.sdk.utils.FileUtils.a(SourceFile:369)
07-23 13:03:25.878  2340  2340 W System.err:    at com.onyx.android.sdk.utils.FileUtils.getRealFilePathFromUri(SourceFile:344)
07-23 13:03:25.878  2340  2340 W System.err:    at com.onyx.kreader.ui.ReaderTabHostActivity.z(SourceFile:925)
07-23 13:03:25.878  2340  2340 W System.err:    at com.onyx.kreader.ui.ReaderTabHostActivity.y(SourceFile:883)
07-23 13:03:25.878  2340  2340 W System.err:    at com.onyx.kreader.ui.ReaderTabHostActivity.m(SourceFile:54)
07-23 13:03:25.878  2340  2340 W System.err:    at com.onyx.kreader.ui.ReaderTabHostActivity$16.onGlobalLayout(SourceFile:376)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:912)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2027)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1165)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6106)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.Choreographer.doCallbacks(Choreographer.java:670)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.Choreographer.doFrame(Choreographer.java:606)
07-23 13:03:25.878  2340  2340 W System.err:    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
07-23 13:03:25.878  2340  2340 W System.err:    at android.os.Handler.handleCallback(Handler.java:743)
07-23 13:03:25.878  2340  2340 W System.err:    at android.os.Handler.dispatchMessage(Handler.java:95)
07-23 13:03:25.878  2340  2340 W System.err:    at android.os.Looper.loop(Looper.java:148)
07-23 13:03:25.878  2340  2340 W System.err:    at android.app.ActivityThread.main(ActivityThread.java:5417)
07-23 13:03:25.878  2340  2340 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
07-23 13:03:25.879  2340  2340 W System.err:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:772)
07-23 13:03:25.879  2340  2340 W System.err:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662)
07-23 13:03:25.895  2340  2347 W CursorWrapperInner: Cursor finalized without prior close()
07-23 13:03:25.987   554   575 I ActivityManager: Displayed com.onyx.kreader/.ui.ReaderTabHostActivity: +878ms

My current build is 2018-07-03_15-47_1.9.0_cd8c355, kreader version is versionName=7848 - 9505244


#4

The same problem occurs when I download a pdf with the built in browser, which results a notification icon in the icon bar, and later I tap on that icon (“download succeded” message) and choose noe reader to open with. Neo reader opens, but not with the fresh pdf. Later I can open the same pdf from the Download folder using the storage browser, so it is not the particular pdf that is damaged.


#5

Hi @Afra since “BOOX Note S boasts open operating system Android 6 Marshmallow, which takes BOOX to a whole new level. More choices, more E-books.” (as it is said in the website, http://www.boox.com/boox-notes/) it is no excuse that Android apps which would be otherwise fully functional, not being able to interoperate with NeoReader (which is merely another Android app).

I would really appreciate it if you would tell us when R&D would fix the bug.

Thanks!