diff --git a/package/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt b/package/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt index f7ef066bbd..862c03a146 100644 --- a/package/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt +++ b/package/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt @@ -84,7 +84,7 @@ class CameraSession(internal val context: Context, internal val callback: Callba override fun close() { Log.i(TAG, "Closing CameraSession...") isDestroyed = true - orientationManager.clearListeners() + orientationManager.stopOrientationUpdates() runOnUiThread { lifecycleRegistry.currentState = Lifecycle.State.DESTROYED } diff --git a/package/android/src/main/java/com/mrousavy/camera/core/OrientationManager.kt b/package/android/src/main/java/com/mrousavy/camera/core/OrientationManager.kt index a23da9f060..f01d82b899 100644 --- a/package/android/src/main/java/com/mrousavy/camera/core/OrientationManager.kt +++ b/package/android/src/main/java/com/mrousavy/camera/core/OrientationManager.kt @@ -67,8 +67,7 @@ class OrientationManager(private val context: Context, private val callback: Cal } } - // remove previous listeners if attached - fun clearListeners() { + fun stopOrientationUpdates() { displayManager.unregisterDisplayListener(displayListener) orientationListener.disable() } @@ -77,7 +76,8 @@ class OrientationManager(private val context: Context, private val callback: Cal Log.i(TAG, "Target Orientation changed $targetOutputOrientation -> $targetOrientation!") targetOutputOrientation = targetOrientation - clearListeners() + // remove previous listeners if we have any + stopOrientationUpdates() when (targetOrientation) { OutputOrientation.DEVICE -> {