diff --git a/android/src/main/java/com/reactnativearviewer/ArViewerView.kt b/android/src/main/java/com/reactnativearviewer/ArViewerView.kt index baf929b..da062c0 100644 --- a/android/src/main/java/com/reactnativearviewer/ArViewerView.kt +++ b/android/src/main/java/com/reactnativearviewer/ArViewerView.kt @@ -92,6 +92,10 @@ open class ArViewerView @JvmOverloads constructor( } } + fun onDrop() { + super.onDetachedFromWindow() + } + /** * Start the loading of a GLB model URI */ @@ -190,14 +194,14 @@ open class ArViewerView @JvmOverloads constructor( */ override fun onArSessionCreated(session: ArSession) { super.onArSessionCreated(session) - Log.d("ARview session", "started") - val event = Arguments.createMap() - val reactContext = context as ReactContext - reactContext.getJSModule(RCTEventEmitter::class.java).receiveEvent( - id, - "onStarted", - event - ) + Log.d("ARview session", "started") + val event = Arguments.createMap() + val reactContext = context as ReactContext + reactContext.getJSModule(RCTEventEmitter::class.java).receiveEvent( + id, + "onStarted", + event + ) } /** diff --git a/android/src/main/java/com/reactnativearviewer/ArViewerViewManager.kt b/android/src/main/java/com/reactnativearviewer/ArViewerViewManager.kt index 02af7c1..4d24735 100644 --- a/android/src/main/java/com/reactnativearviewer/ArViewerViewManager.kt +++ b/android/src/main/java/com/reactnativearviewer/ArViewerViewManager.kt @@ -40,6 +40,7 @@ class ArViewerViewManager : SimpleViewManager() { override fun onDropViewInstance(view: ArViewerView) { Log.d("ARview onDropViewInstance", "Stopping session"); super.onDropViewInstance(view) + view.onDrop() val threadPause: Thread = object : Thread() { override fun run() { try {