Class 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 class  JmeSurfaceView.DestructionPolicy
      Determines whether the app context would be destructed 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 class  JmeSurfaceView.GameState
      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 java.lang.String audioRendererType  
      • 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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addGlSurfaceView()
      Adds the glSurfaceView to the screen immediately, saving the current app instance.
      void bindAppStateToActivityLifeCycle​(boolean condition)
      Binds/Unbinds the game life cycle to the holder activity life cycle.
      void destroy()  
      void gainFocus()  
      com.jme3.system.AppSettings getAppSettings()
      Gets the game window settings.
      java.lang.String getAudioRendererType()
      Gets the audio renderer in String.
      JmeSurfaceView.DestructionPolicy getDestructionPolicy()
      Gets the current destruction policy.
      int getEglAlphaBits()
      Gets the Embedded gL alpha(opacity) bits.
      int getEglBitsPerPixel()
      Gets the bits/pixel for Embedded gL
      int getEglDepthBits()
      Gets the memory representing the EGL depth in bits.
      int getEglSamples()
      Gets the number of samples to use for multi-sampling.
      int getEglStencilBits()
      Gets the number of stencil buffer bits.
      int getFrameRate()
      Gets the limited FrameRate level for egl INFO.
      java.lang.String getGlEsVersion()
      Gets the current device GL_ES version.
      com.jme3.app.LegacyApplication getLegacyApplication()
      Gets the jme app instance.
      void handleError​(java.lang.String errorMsg, java.lang.Throwable throwable)  
      void initialize()  
      boolean isAppStateBoundToActivityLifeCycle()
      Checks whether the current game application life cycle is bound to the activity life cycle.
      boolean isEmulateKeyBoard()
      Checks if the keyboard interfacing is enabled.
      boolean isEmulateMouse()
      Checks whether the mouse interfacing is enabled or not.
      boolean isExitOnEscPressed()
      Checks whether the exit on esc press is activated.
      boolean isGLThreadPaused()
      Checks whether the GLThread is paused or not.
      boolean isShowErrorDialog()
      Checks whether the error dialog is enabled upon encountering exceptions/errors.
      boolean isShowEscExitPrompt()
      Checks whether the system would show an exit prompt dialog when the esc keyboard input is invoked.
      boolean isUseJoyStickEvents()
      Checks whether joystick interfacing is enabled or not.
      void loseFocus()  
      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​(java.lang.String audioRendererType)
      Sets the audioRenderer type.
      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().
      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 setOnExceptionThrown​(OnExceptionThrown onExceptionThrown)
      Sets the listener that will fire when an exception is thrown.
      void setOnLayoutDrawn​(OnLayoutDrawn onLayoutDrawn)
      Sets the listener that will dispatch an event when the layout is drawn by addGlSurfaceView().
      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.
      void setOnRendererStarted​(OnRendererStarted onRendererStarted)
      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​(java.lang.Throwable throwable, java.lang.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 update()  
      • 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 Detail

      • audioRendererType

        protected java.lang.String audioRendererType
    • Constructor Detail

      • 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 Detail

      • 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​(java.lang.String errorMsg,
                                java.lang.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​(java.lang.Throwable throwable,
                                       java.lang.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.
      • 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:
        setEglStencilBits(int)
      • 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:
        setEglDepthBits(int)
      • 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 java.lang.String getAudioRendererType()
        Gets the audio renderer in String. Default is : AppSettings.ANDROID_OPENAL_SOFT.
        Returns:
        string representing audio renderer framework.
      • setAudioRendererType

        public void setAudioRendererType​(java.lang.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:
        addGlSurfaceView()
      • getGlEsVersion

        public java.lang.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.