Class JmeSurfaceView

java.lang.Object
android.view.View
android.view.ViewGroup
android.widget.RelativeLayout
com.jme3.view.surfaceview.JmeSurfaceView
All Implemented Interfaces:
android.content.DialogInterface.OnClickListener, android.graphics.drawable.Drawable.Callback, android.view.accessibility.AccessibilityEventSource, android.view.KeyEvent.Callback, android.view.ViewManager, android.view.ViewParent, androidx.lifecycle.LifecycleEventObserver, androidx.lifecycle.LifecycleObserver, com.jme3.system.SystemListener

public class JmeSurfaceView extends android.widget.RelativeLayout implements com.jme3.system.SystemListener, android.content.DialogInterface.OnClickListener, androidx.lifecycle.LifecycleEventObserver
A RelativeLayout class holder that wraps a GLSurfaceView as a renderer UI component and uses OGLESContext as a renderer context to render a jme game on an android view for custom xml designs. The main idea of JmeSurfaceView class is to start a jMonkeyEngine application in a SystemListener context on a GL_ES thread, then the game is rendered and updated through a GLSurfaceView component with a delay of user's choice using a Handler, during the delay, the user has the ability to handle a couple of actions asynchronously as displaying a progress bar on a SplashScreen or an image or even play a preface game music of choice.
Author:
pavl_g.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Determines whether the app context would be destructed as a result of dispatching Activity.finish() with the holder activity context in case of JmeSurfaceView.DestructionPolicy.DESTROY_WHEN_FINISH or be spared for a second use in case of JmeSurfaceView.DestructionPolicy.KEEP_WHEN_FINISH.
    protected static final class 
    Used as a static memory to protect the game context from destruction by Activity#onDestroy().

    Nested classes/interfaces inherited from class android.widget.RelativeLayout

    android.widget.RelativeLayout.LayoutParams

    Nested classes/interfaces inherited from class android.view.ViewGroup

    android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener

    Nested classes/interfaces inherited from class android.view.View

    android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
     

    Fields inherited from class android.widget.RelativeLayout

    ABOVE, ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_END, ALIGN_LEFT, ALIGN_PARENT_BOTTOM, ALIGN_PARENT_END, ALIGN_PARENT_LEFT, ALIGN_PARENT_RIGHT, ALIGN_PARENT_START, ALIGN_PARENT_TOP, ALIGN_RIGHT, ALIGN_START, ALIGN_TOP, BELOW, CENTER_HORIZONTAL, CENTER_IN_PARENT, CENTER_VERTICAL, END_OF, LEFT_OF, RIGHT_OF, START_OF, TRUE

    Fields inherited from class android.view.ViewGroup

    CLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE

    Fields inherited from class android.view.View

    ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
  • Constructor Summary

    Constructors
    Constructor
    Description
    JmeSurfaceView(android.content.Context context)
    Instantiates a default surface view holder without XML attributes.
    JmeSurfaceView(android.content.Context context, android.util.AttributeSet attrs)
    Instantiates a surface view holder with XML attributes from an XML document.
    JmeSurfaceView(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
    Instantiates a surface view holder with XML attributes and a default style attribute.
    JmeSurfaceView(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)
    Instantiates a surface view holder with XML attributes, default style attribute and a default style resource.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Adds the glSurfaceView to the screen immediately, saving the current app instance.
    void
    Binds/Unbinds the game life cycle to the holder activity life cycle.
    void
     
    void
     
    com.jme3.system.AppSettings
    Gets the game window settings.
    Gets the audio renderer in String.
    Gets the current destruction policy.
    int
    Gets the Embedded gL alpha(opacity) bits.
    int
    Gets the bits/pixel for Embedded gL
    int
    Gets the memory representing the EGL depth in bits.
    int
    Gets the number of samples to use for multi-sampling.
    int
    Gets the number of stencil buffer bits.
    int
    Gets the limited FrameRate level for egl INFO.
    Gets the current device GL_ES version.
    com.jme3.app.LegacyApplication
    Gets the jme app instance.
    void
    handleError(String errorMsg, Throwable throwable)
     
    void
     
    boolean
    Checks whether the current game application life cycle is bound to the activity life cycle.
    boolean
    Checks if the keyboard interfacing is enabled.
    boolean
    Checks whether the mouse interfacing is enabled or not.
    boolean
    Checks whether the exit on esc press is activated.
    boolean
    Checks whether the GLThread is paused or not.
    boolean
    Checks whether the error dialog is enabled upon encountering exceptions/errors.
    boolean
    Checks whether the system would show an exit prompt dialog when the esc keyboard input is invoked.
    boolean
    Checks whether joystick interfacing is enabled or not.
    void
     
    void
    onClick(android.content.DialogInterface dialog, int which)
     
    void
    onStateChanged(androidx.lifecycle.LifecycleOwner source, androidx.lifecycle.Lifecycle.Event event)
    A state change observer to the holder Activity life cycle, used to keep this android view up-to-date with the holder activity life cycle.
    void
    requestClose(boolean esc)
     
    void
    rescale(float x, float y)
     
    void
    reshape(int width, int height)
     
    void
    setAppSettings(com.jme3.system.AppSettings appSettings)
    Sets the appSettings instance.
    void
    setAudioRendererType(String audioRendererType)
    Sets the audioRenderer type.
    void
    Sets the current destruction policy, destruction policy JmeSurfaceView.DestructionPolicy.KEEP_WHEN_FINISH ensures that we protect the app state using JmeSurfaceView.GameState.legacyApplication static memory when the activity finishes, while JmeSurfaceView.DestructionPolicy.DESTROY_WHEN_FINISH destroys the game context with the activity onDestroy().
    void
    setEglAlphaBits(int eglAlphaBits)
    Sets the memory representing the alpha of embedded gl in bits.
    void
    setEglBitsPerPixel(int eglBitsPerPixel)
    Sets the memory representing each pixel in bits.
    void
    setEglDepthBits(int eglDepthBits)
    Sets the EGL depth in bits.
    void
    setEglSamples(int eglSamples)
    Sets the number of samples to use for multi-sampling.
    void
    setEglStencilBits(int eglStencilBits)
    Sets the number of stencil buffer bits.
    void
    setEmulateKeyBoard(boolean emulateKeyBoard)
    Enables keyboard interfacing.
    void
    setEmulateMouse(boolean emulateMouse)
    Enables mouse interfacing.
    void
    setExitOnEscPressed(boolean exitOnEscPressed)
    Determines whether the system would exit on pressing the keyboard esc button.
    void
    setFrameRate(int frameRate)
    Limits the frame rate (fps) in the second.
    protected void
    setGLThreadPaused(boolean GLThreadPaused)
    Sets GL Thread paused.
    void
    setLegacyApplication(com.jme3.app.LegacyApplication legacyApplication)
    Sets the jme game instance that will be engaged into the SystemListener.
    void
    Sets the listener that will fire when an exception is thrown.
    void
    Sets the listener that will dispatch an event when the layout is drawn by addGlSurfaceView().
    void
    Sets the listener for the completion of rendering, ie : when the GL thread holding the JmeSurfaceView joins the UI thread, after asynchronous rendering.
    void
    Sets the listener that will fire after initializing the game.
    void
    setShowErrorDialog(boolean showErrorDialog)
    Determines whether the error dialog would be shown on encountering exceptions.
    void
    setShowEscExitPrompt(boolean showEscExitPrompt)
    Determines whether to show an exit prompt dialog when the esc keyboard button is invoked.
    void
    setUseJoyStickEvents(boolean useJoyStickEvents)
    Enables joystick interfacing for a jme-game
    protected void
    showErrorDialog(Throwable throwable, String title)
    Displays an error dialog with a throwable title(error/exception), message and 3 buttons.
    void
    startRenderer(int delayMillis)
    Starts the jmeRenderer on a GlSurfaceView attached to a RelativeLayout.
    void
     

    Methods inherited from class android.widget.RelativeLayout

    checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getBaseline, getGravity, onLayout, onMeasure, requestLayout, setGravity, setHorizontalGravity, setIgnoreGravity, setVerticalGravity, shouldDelayChildPressedState

    Methods inherited from class android.view.ViewGroup

    addChildrenForAccessibility, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onDetachedFromWindow, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayout

    Methods inherited from class android.view.View

    addExtraDataToAccessibilityNodeInfo, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getApplicationWindowToken, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintList, getBackgroundTintMode, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getImportantForAutofill, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideStructure, onProvideVirtualStructure, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForeground, setForegroundGravity, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionName, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface android.view.ViewParent

    canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows
  • Field Details

    • audioRendererType

      protected String audioRendererType
  • Constructor Details

    • JmeSurfaceView

      public JmeSurfaceView(@NonNull android.content.Context context)
      Instantiates a default surface view holder without XML attributes. On instantiating this surface view, the holder is bound directly to the parent context life cycle.
      Parameters:
      context - the parent context.
    • JmeSurfaceView

      public JmeSurfaceView(@NonNull android.content.Context context, @Nullable android.util.AttributeSet attrs)
      Instantiates a surface view holder with XML attributes from an XML document. On instantiating this surface view, the holder is bound directly to the parent context life cycle.
      Parameters:
      context - the parent context.
      attrs - a collection of attributes describes the tags in an XML document.
      See Also:
      • Resources.obtainAttributes(AttributeSet, int[])
    • JmeSurfaceView

      public JmeSurfaceView(@NonNull android.content.Context context, @Nullable android.util.AttributeSet attrs, int defStyleAttr)
      Instantiates a surface view holder with XML attributes and a default style attribute. On instantiating this surface view, the holder is bound directly to the parent context life cycle.
      Parameters:
      context - the parent context.
      attrs - a collection of attributes describes the tags in an XML document.
      defStyleAttr - an attribute in the current theme that contains a reference to a style resource that supplies defaults values. Can be 0 to not look for defaults.
      See Also:
      • Resources.Theme.obtainStyledAttributes(AttributeSet, int[], int, int)
    • JmeSurfaceView

      public JmeSurfaceView(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)
      Instantiates a surface view holder with XML attributes, default style attribute and a default style resource. On instantiating this surface view, the holder is bound directly to the parent context life cycle.
      Parameters:
      context - the parent context.
      attrs - a collection of attributes describes the tags in an XML document.
      defStyleAttr - an attribute in the current theme that contains defaults. Can be 0 to not look for defaults.
      defStyleRes - a resource identifier of a style resource that supplies default values, used only if defStyleAttr is 0 or can not be found in the theme. Can be 0 to not look for defaults.
      See Also:
      • Resources.Theme.obtainStyledAttributes(AttributeSet, int[], int, int)
  • Method Details

    • startRenderer

      public void startRenderer(int delayMillis)
      Starts the jmeRenderer on a GlSurfaceView attached to a RelativeLayout.
      Parameters:
      delayMillis - delays the attachment of the surface view to the UI (RelativeLayout).
    • handleError

      public void handleError(String errorMsg, Throwable throwable)
      Specified by:
      handleError in interface com.jme3.system.SystemListener
    • onStateChanged

      public void onStateChanged(@NonNull androidx.lifecycle.LifecycleOwner source, @NonNull androidx.lifecycle.Lifecycle.Event event)
      A state change observer to the holder Activity life cycle, used to keep this android view up-to-date with the holder activity life cycle.
      Specified by:
      onStateChanged in interface androidx.lifecycle.LifecycleEventObserver
      Parameters:
      source - the life cycle source, aka the observable object.
      event - the fired event by the observable object, which is dispatched and sent to the observers.
    • initialize

      public void initialize()
      Specified by:
      initialize in interface com.jme3.system.SystemListener
    • reshape

      public void reshape(int width, int height)
      Specified by:
      reshape in interface com.jme3.system.SystemListener
    • rescale

      public void rescale(float x, float y)
      Specified by:
      rescale in interface com.jme3.system.SystemListener
    • update

      public void update()
      Specified by:
      update in interface com.jme3.system.SystemListener
    • requestClose

      public void requestClose(boolean esc)
      Specified by:
      requestClose in interface com.jme3.system.SystemListener
    • gainFocus

      public void gainFocus()
      Specified by:
      gainFocus in interface com.jme3.system.SystemListener
    • loseFocus

      public void loseFocus()
      Specified by:
      loseFocus in interface com.jme3.system.SystemListener
    • destroy

      public void destroy()
      Specified by:
      destroy in interface com.jme3.system.SystemListener
    • onClick

      public void onClick(android.content.DialogInterface dialog, int which)
      Specified by:
      onClick in interface android.content.DialogInterface.OnClickListener
    • addGlSurfaceView

      protected void addGlSurfaceView()
      Adds the glSurfaceView to the screen immediately, saving the current app instance.
    • showErrorDialog

      protected void showErrorDialog(Throwable throwable, String title)
      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.
      Parameters:
      throwable - the throwable stack.
      title - the message title.
    • bindAppStateToActivityLifeCycle

      public void bindAppStateToActivityLifeCycle(boolean condition)
      Binds/Unbinds the game life cycle to the holder activity life cycle. Unbinding the game life cycle, would disable gainFocus(), loseFocus() and destroy() from being invoked by the System Listener. The Default value is : true, and the view component is pre-bounded to its activity lifeCycle when initialized.
      Parameters:
      condition - true if you want to bind them, false otherwise.
    • getDestructionPolicy

      public JmeSurfaceView.DestructionPolicy getDestructionPolicy()
      Gets the current destruction policy. Default value is : JmeSurfaceView.DestructionPolicy.DESTROY_WHEN_FINISH.
      Returns:
      the destruction policy, either JmeSurfaceView.DestructionPolicy.DESTROY_WHEN_FINISH or JmeSurfaceView.DestructionPolicy.KEEP_WHEN_FINISH.
      See Also:
    • setDestructionPolicy

      public void setDestructionPolicy(JmeSurfaceView.DestructionPolicy destructionPolicy)
      Sets the current destruction policy, destruction policy JmeSurfaceView.DestructionPolicy.KEEP_WHEN_FINISH ensures that we protect the app state using JmeSurfaceView.GameState.legacyApplication static memory when the activity finishes, while JmeSurfaceView.DestructionPolicy.DESTROY_WHEN_FINISH destroys the game context with the activity onDestroy(). Default value is : JmeSurfaceView.DestructionPolicy.DESTROY_WHEN_FINISH.
      Parameters:
      destructionPolicy - a destruction policy to set.
      See Also:
    • isAppStateBoundToActivityLifeCycle

      public boolean isAppStateBoundToActivityLifeCycle()
      Checks whether the current game application life cycle is bound to the activity life cycle.
      Returns:
      true it matches the condition, false otherwise.
    • isShowEscExitPrompt

      public boolean isShowEscExitPrompt()
      Checks whether the system would show an exit prompt dialog when the esc keyboard input is invoked.
      Returns:
      ture if the exit prompt dialog is activated on exit, false otherwise.
    • setShowEscExitPrompt

      public void setShowEscExitPrompt(boolean showEscExitPrompt)
      Determines whether to show an exit prompt dialog when the esc keyboard button is invoked.
      Parameters:
      showEscExitPrompt - true to show the exit prompt dialog before exiting, false otherwise.
    • isExitOnEscPressed

      public boolean isExitOnEscPressed()
      Checks whether the exit on esc press is activated.
      Returns:
      true if the exit on escape is activated, false otherwise.
    • setExitOnEscPressed

      public void setExitOnEscPressed(boolean exitOnEscPressed)
      Determines whether the system would exit on pressing the keyboard esc button.
      Parameters:
      exitOnEscPressed - true to activate exiting on Esc button press, false otherwise.
    • getLegacyApplication

      public com.jme3.app.LegacyApplication getLegacyApplication()
      Gets the jme app instance.
      Returns:
      legacyApplication instance representing your game enclosure.
    • setLegacyApplication

      public void setLegacyApplication(@NonNull com.jme3.app.LegacyApplication legacyApplication)
      Sets the jme game instance that will be engaged into the SystemListener.
      Parameters:
      legacyApplication - your jme game instance.
    • getAppSettings

      public com.jme3.system.AppSettings getAppSettings()
      Gets the game window settings.
      Returns:
      app settings instance.
    • setAppSettings

      public void setAppSettings(@NonNull com.jme3.system.AppSettings appSettings)
      Sets the appSettings instance.
      Parameters:
      appSettings - the custom appSettings instance
    • getEglBitsPerPixel

      public int getEglBitsPerPixel()
      Gets the bits/pixel for Embedded gL
      Returns:
      integer representing it.
    • setEglBitsPerPixel

      public void setEglBitsPerPixel(int eglBitsPerPixel)
      Sets the memory representing each pixel in bits.
      Parameters:
      eglBitsPerPixel - the bits for each pixel.
    • getEglAlphaBits

      public int getEglAlphaBits()
      Gets the Embedded gL alpha(opacity) bits.
      Returns:
      integer representing it.
    • setEglAlphaBits

      public void setEglAlphaBits(int eglAlphaBits)
      Sets the memory representing the alpha of embedded gl in bits.
      Parameters:
      eglAlphaBits - the alpha bits.
    • getEglDepthBits

      public int getEglDepthBits()
      Gets the memory representing the EGL depth in bits.
      Returns:
      the depth bits.
    • setEglDepthBits

      public void setEglDepthBits(int eglDepthBits)
      Sets the EGL depth in bits. The depth buffer or Z-buffer is basically coupled with stencil buffer, usually 8bits stencilBuffer + 24bits depthBuffer = 32bits shared memory.
      Parameters:
      eglDepthBits - the depth bits.
      See Also:
    • getEglSamples

      public int getEglSamples()
      Gets the number of samples to use for multi-sampling.
      Returns:
      number of samples to use for multi-sampling.
    • setEglSamples

      public void setEglSamples(int eglSamples)
      Sets the number of samples to use for multi-sampling. Leave 0 (default) to disable multi-sampling. Set to 2 or 4 to enable multi-sampling.
      Parameters:
      eglSamples - embedded gl samples bits to set.
    • getEglStencilBits

      public int getEglStencilBits()
      Gets the number of stencil buffer bits. Default is : 0.
      Returns:
      the stencil buffer bits.
    • setEglStencilBits

      public void setEglStencilBits(int eglStencilBits)
      Sets the number of stencil buffer bits. Stencil buffer is used in depth-based shadow maps and shadow rendering as it limits rendering, it's coupled with Z-buffer or depth buffer, usually 8bits stencilBuffer + 24bits depthBuffer = 32bits shared memory. (default = 0)
      Parameters:
      eglStencilBits - the desired number of stencil bits.
      See Also:
    • getFrameRate

      public int getFrameRate()
      Gets the limited FrameRate level for egl INFO. Default is : -1, for a device based limited value (determined by hardware).
      Returns:
      the limit frameRate in integers.
    • setFrameRate

      public void setFrameRate(int frameRate)
      Limits the frame rate (fps) in the second. Default is : -1, for a device based limited value (determined by hardware).
      Parameters:
      frameRate - the limitation in integers.
    • getAudioRendererType

      public String getAudioRendererType()
      Gets the audio renderer in String. Default is : AppSettings.ANDROID_OPENAL_SOFT.
      Returns:
      string representing audio renderer framework.
    • setAudioRendererType

      public void setAudioRendererType(String audioRendererType)
      Sets the audioRenderer type. Default is : AppSettings.ANDROID_OPENAL_SOFT.
      Parameters:
      audioRendererType - string representing audioRenderer type.
    • isEmulateKeyBoard

      public boolean isEmulateKeyBoard()
      Checks if the keyboard interfacing is enabled. Default is : true.
      Returns:
      true if the keyboard interfacing is enabled.
    • setEmulateKeyBoard

      public void setEmulateKeyBoard(boolean emulateKeyBoard)
      Enables keyboard interfacing. Default is : true.
      Parameters:
      emulateKeyBoard - true to enable keyboard interfacing.
    • isEmulateMouse

      public boolean isEmulateMouse()
      Checks whether the mouse interfacing is enabled or not. Default is : true.
      Returns:
      true if the mouse interfacing is enabled.
    • setEmulateMouse

      public void setEmulateMouse(boolean emulateMouse)
      Enables mouse interfacing. Default is : true.
      Parameters:
      emulateMouse - true to enable the mouse interfacing.
    • isUseJoyStickEvents

      public boolean isUseJoyStickEvents()
      Checks whether joystick interfacing is enabled or not. Default is : true.
      Returns:
      true if the joystick interfacing is enabled.
    • setUseJoyStickEvents

      public void setUseJoyStickEvents(boolean useJoyStickEvents)
      Enables joystick interfacing for a jme-game
      Parameters:
      useJoyStickEvents - true to enable the joystick interfacing.
    • isGLThreadPaused

      public boolean isGLThreadPaused()
      Checks whether the GLThread is paused or not.
      Returns:
      true/false
    • setGLThreadPaused

      protected void setGLThreadPaused(boolean GLThreadPaused)
      Sets GL Thread paused.
      Parameters:
      GLThreadPaused - true if you want to pause the GLThread.
    • setOnRendererCompleted

      public void setOnRendererCompleted(OnRendererCompleted onRendererCompleted)
      Sets the listener for the completion of rendering, ie : when the GL thread holding the JmeSurfaceView joins the UI thread, after asynchronous rendering.
      Parameters:
      onRendererCompleted - an instance of the interface OnRendererCompleted.
    • setOnExceptionThrown

      public void setOnExceptionThrown(OnExceptionThrown onExceptionThrown)
      Sets the listener that will fire when an exception is thrown.
      Parameters:
      onExceptionThrown - an instance of the interface OnExceptionThrown.
    • setOnRendererStarted

      public void setOnRendererStarted(OnRendererStarted onRendererStarted)
      Sets the listener that will fire after initializing the game.
      Parameters:
      onRendererStarted - an instance of the interface OnRendererStarted.
    • setOnLayoutDrawn

      public void setOnLayoutDrawn(OnLayoutDrawn onLayoutDrawn)
      Sets the listener that will dispatch an event when the layout is drawn by addGlSurfaceView().
      Parameters:
      onLayoutDrawn - the event to be dispatched.
      See Also:
    • getGlEsVersion

      public String getGlEsVersion()
      Gets the current device GL_ES version.
      Returns:
      the current gl_es version in a string format.
    • isShowErrorDialog

      public boolean isShowErrorDialog()
      Checks whether the error dialog is enabled upon encountering exceptions/errors. Default is : true.
      Returns:
      true if the error dialog is activated, false otherwise.
    • setShowErrorDialog

      public void setShowErrorDialog(boolean showErrorDialog)
      Determines whether the error dialog would be shown on encountering exceptions. Default is : true.
      Parameters:
      showErrorDialog - true to activate the error dialog, false otherwise.