From 1503d2f00d363419bc1dd389e9f6b6cb74517657 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 22 Nov 2024 10:38:04 +0100 Subject: [PATCH] Protect from Presenter not being initialized by setCallType. --- .../android/features/call/impl/ui/ElementCallActivity.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt index 8b6d1e45bd..08ad912b54 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt @@ -44,6 +44,7 @@ import io.element.android.features.call.impl.pip.PictureInPictureState import io.element.android.features.call.impl.pip.PipView import io.element.android.features.call.impl.services.CallForegroundService import io.element.android.features.call.impl.utils.CallIntentDataParser +import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.bindings import io.element.android.libraries.core.log.logger.LoggerTag import io.element.android.libraries.designsystem.theme.ElementThemeApp @@ -62,7 +63,7 @@ class ElementCallActivity : @Inject lateinit var appPreferencesStore: AppPreferencesStore @Inject lateinit var pictureInPicturePresenter: PictureInPicturePresenter - private lateinit var presenter: CallScreenPresenter + private lateinit var presenter: Presenter private lateinit var audioManager: AudioManager @@ -92,6 +93,10 @@ class ElementCallActivity : ) setCallType(intent) + // If presenter is not created at this point, it means we have no call to display, the Activity is finishing, so return early + if (!::presenter.isInitialized) { + return + } if (savedInstanceState == null) { updateUiMode(resources.configuration)