Just to double check.
You can reproduce this issue on Oppo A3s,Xiaomi Mi A2 Lite, and also emulator API 28, and it's 100%, right ?
In this case, do you mind testing it again using the latest version 1.3.0-beta02 to see if it is fixed in the later version ?
BTW, the exception "android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views." can be avoided by running the View-related codes in the UI thread. For example, you can pass the main thread executor (e.g, ContextCompat.getMainExecutor(context)) in the takePicture() call or post the runnable via runOnUiThread.