protected void showErrorDialog(Throwable throwable, String title) {
        if (!isShowErrorDialog()) {
            return;
        }
        ((Activity) getContext()).runOnUiThread(() -> {
            throwable.printStackTrace(new PrintWriter(crashLogWriter));
            crashLog = glEsVersion + "\n" + crashLogWriter.toString();

            final AlertDialog alertDialog = new AlertDialog.Builder(getContext()).create();
            alertDialog.setTitle(glEsVersion + ", " + title);
            alertDialog.setMessage(crashLog);
            alertDialog.setCancelable(false);
            alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Exit", this);
            alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Dismiss", this);
            alertDialog.setButton(DialogInterface.BUTTON_NEUTRAL, "Copy crash log", this);
            alertDialog.show();
        });
    }
Displays an error dialog with a throwable title(error/exception), message and 3 buttons.
1st button is : EXIT to exit the activity and terminates the app.
2nd button is : DISMISS to dismiss the dialog and ignore the exception.
3rd button is : CopyCrashLog to copy the crash log to the clipboard.

@param throwable the throwable stack.
@param title     the message title.
jme3-android/src/main/java/com/jme3/view/surfaceview/JmeSurfaceView.java