check if scope is initialized before canceling

without this fix, the scope may not have been initialized which threw the following exception:

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.callActivityOnStop (ActivityThread.java:5658)
  at android.app.ActivityThread.performStopActivityInner (ActivityThread.java:5630)
  at android.app.ActivityThread.handleStopActivity (ActivityThread.java:5695)
  at android.app.servertransaction.StopActivityItem.execute (StopActivityItem.java:43)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:60)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleItem (TransactionExecutor.java:282)
  at android.app.servertransaction.TransactionExecutor.executeTransactionItems (TransactionExecutor.java:150)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:93)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2595)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loopOnce (Looper.java:232)
  at android.os.Looper.loop (Looper.java:317)
  at android.app.ActivityThread.main (ActivityThread.java:8592)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:878)
Caused by kotlin.UninitializedPropertyAccessException: lateinit property scope has not been initialized
  at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository.handleOnStop (OfflineFirstChatRepository.kt:807)
  at com.nextcloud.talk.chat.viewmodels.ChatViewModel.onStop (ChatViewModel.kt:103)
  at androidx.lifecycle.DefaultLifecycleObserverAdapter.onStateChanged (DefaultLifecycleObserverAdapter.kt:28)
  at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent (LifecycleRegistry.jvm.kt:320)
  at androidx.lifecycle.LifecycleRegistry.backwardPass (LifecycleRegistry.jvm.kt:272)
  at androidx.lifecycle.LifecycleRegistry.sync (LifecycleRegistry.jvm.kt:289)
  at androidx.lifecycle.LifecycleRegistry.moveToState (LifecycleRegistry.jvm.kt:142)
  at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent (LifecycleRegistry.jvm.kt:124)
  at androidx.lifecycle.ReportFragment$Companion.dispatch$lifecycle_runtime_release (ReportFragment.android.kt:190)
  at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPreStopped (ReportFragment.android.kt:135)
  at android.app.Activity.dispatchActivityPreStopped (Activity.java:1633)
  at android.app.Activity.performStop (Activity.java:9197)
  at android.app.ActivityThread.callActivityOnStop (ActivityThread.java:5650)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2025-02-18 11:36:39 +01:00
parent 17702bbe92
commit 754e8a86fd
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B

View File

@ -804,7 +804,9 @@ class OfflineFirstChatRepository @Inject constructor(
}
override fun handleOnStop() {
scope.cancel()
if (this::scope.isInitialized) {
scope.cancel()
}
}
@Suppress("LongParameterList")