This happens when opening app on Android 9:
Note to self: verify what is going there.
2019-05-18 15:14:33.524 17229-17229/com.nextcloud.android.qa E/ThemeUtils: setTextViewCursorColor
java.lang.NoSuchFieldException: No field mCursorDrawable in class Landroid/widget/Editor; (declaration of 'android.widget.Editor' appears in /system/framework/framework.jar!classes2.dex)
at java.lang.Class.getDeclaredField(Native Method)
at com.owncloud.android.utils.ThemeUtils.setTextViewCursorColor(ThemeUtils.java:585)
at com.owncloud.android.utils.ThemeUtils.themeEditText(ThemeUtils.java:462)
at com.owncloud.android.utils.ThemeUtils.themeSearchView(ThemeUtils.java:470)
at com.owncloud.android.ui.fragment.ExtendedListFragment.onCreateOptionsMenu(ExtendedListFragment.java:197)
at androidx.fragment.app.Fragment.performCreateOptionsMenu(Fragment.java:2561)
at androidx.fragment.app.FragmentManagerImpl.dispatchCreateOptionsMenu(FragmentManager.java:3321)
at androidx.fragment.app.FragmentController.dispatchCreateOptionsMenu(FragmentController.java:331)
at androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:379)
at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:2549)
at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:455)
at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:56)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6863)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
This is logged using
Log_OC.e(TAG, "setTextViewCursorColor", e);
so I guess we treat it as an error. It doesn't work on Android 9 apparently.
Correct also looping in @tobiasKaminsky and @dan0xii since both also worked on dynamic theming code (which I did also). The code themes the cursor while some (private) field names seems to have changed (or don't exist) in newer Android versions. So we need to either skip it for newer Android versions or find the right, new field name / way how to theme the cursor properly.
We may have trouble setting the cursor colour dynamically in API 28 and upwards: https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces
I've tested setting the cursor back to null and it still gives the effect below so that could be our alternative for now.

I can reproduce this issue by clicking on media for a preview (F-Droid, 3.7.0 RC3):
06-20 15:48:44.549 9149 9149 V PreviewMediaFragment: onActivityCreated
06-20 15:48:44.550 9149 9149 V PreviewMediaFragment: onStart
06-20 15:48:44.550 9149 9149 D PreviewMediaFragment: Binding to MediaService...
06-20 15:48:44.552 9149 9149 V PreviewMediaFragment: onResume
06-20 15:48:44.576 9149 9149 E ThemeUtils: setTextViewCursorColor
06-20 15:48:44.576 9149 9149 E ThemeUtils: java.lang.NoSuchFieldException: No field mCursorDrawable in class Landroid/widget/Editor; (declaration of 'android.widget.Editor' appears in /system/framework/framework.jar!classes2.dex)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at java.lang.Class.getDeclaredField(Native Method)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at com.owncloud.android.utils.ThemeUtils.setTextViewCursorColor(ThemeUtils.java:585)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at com.owncloud.android.utils.ThemeUtils.themeEditText(ThemeUtils.java:462)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at com.owncloud.android.utils.ThemeUtils.themeSearchView(ThemeUtils.java:470)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at com.owncloud.android.ui.fragment.ExtendedListFragment.onCreateOptionsMenu(ExtendedListFragment.java:196)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.fragment.app.Fragment.performCreateOptionsMenu(Fragment.java:2561)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.fragment.app.FragmentManagerImpl.dispatchCreateOptionsMenu(FragmentManager.java:3321)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.fragment.app.FragmentController.dispatchCreateOptionsMenu(FragmentController.java:331)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:379)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:2549)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:455)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:56)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.view.Choreographer.doCallbacks(Choreographer.java:761)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.view.Choreographer.doFrame(Choreographer.java:693)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.os.Handler.handleCallback(Handler.java:873)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.os.Handler.dispatchMessage(Handler.java:99)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.os.Looper.loop(Looper.java:193)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at android.app.ActivityThread.main(ActivityThread.java:6718)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at java.lang.reflect.Method.invoke(Native Method)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-20 15:48:44.576 9149 9149 E ThemeUtils: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
06-20 15:48:44.604 9149 9149 D AndroidRuntime: Shutting down VM
06-20 15:48:44.605 9149 9149 E AndroidRuntime: FATAL EXCEPTION: main
06-20 15:48:44.605 9149 9149 E AndroidRuntime: Process: com.nextcloud.client, PID: 9149
06-20 15:48:44.605 9149 9149 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'boolean com.nextcloud.client.account.UserAccountManager.isMediaStreamingSupported(android.accounts.Account)' on a null object reference
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at com.owncloud.android.ui.preview.PreviewMediaFragment.onPrepareOptionsMenu(PreviewMediaFragment.java:391)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.fragment.app.Fragment.performPrepareOptionsMenu(Fragment.java:2575)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.fragment.app.FragmentManagerImpl.dispatchPrepareOptionsMenu(FragmentManager.java:3353)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.fragment.app.FragmentController.dispatchPrepareOptionsMenu(FragmentController.java:343)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.fragment.app.FragmentActivity.onPreparePanel(FragmentActivity.java:548)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.appcompat.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:99)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onPreparePanel(AppCompatDelegateImpl.java:2576)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.appcompat.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:99)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.appcompat.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:522)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:456)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:56)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:761)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:693)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6718)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-20 15:48:44.605 9149 9149 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
06-20 15:48:44.607 1359 3228 W ActivityManager: Force finishing activity com.nextcloud.client/com.owncloud.android.ui.activity.FileDisplayActivity
06-20 15:48:44.611 9149 9149 I Process : Sending signal. PID: 9149 SIG: 9
06-20 15:48:44.627 1359 2329 W InputDispatcher: channel '74063d7 com.nextcloud.client/com.owncloud.android.ui.activity.FileDisplayActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
06-20 15:48:44.627 1359 2329 E InputDispatcher: channel '74063d7 com.nextcloud.client/com.owncloud.android.ui.activity.FileDisplayActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
This request did not receive an update in the last 4 weeks. Please take a look again and update the issue with new details, otherwise the issue will be automatically closed in 2 weeks. Thank you!
There is a fix for it in https://github.com/nextcloud/android/pull/4242