From 0aac0718d4f09c2242e05aeb8a43c8cb67f6d9fe Mon Sep 17 00:00:00 2001 From: KingDCreations Date: Tue, 17 May 2022 16:13:57 +0200 Subject: [PATCH] Fixing mount/ unmount crash --- .../com/reactnativearviewer/ArViewerView.kt | 20 +++++++++++-------- .../ArViewerViewManager.kt | 1 + 2 files changed, 13 insertions(+), 8 deletions(-) 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 {