mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 15:44:54 +00:00
Add a filter to avoid stack overflow when pressing the back button several times. (#4430)
Fixes #4181
This commit is contained in:
+11
-1
@@ -22,6 +22,7 @@ import io.element.android.libraries.architecture.NodeInputs
|
|||||||
import io.element.android.libraries.architecture.inputs
|
import io.element.android.libraries.architecture.inputs
|
||||||
import io.element.android.libraries.di.RoomScope
|
import io.element.android.libraries.di.RoomScope
|
||||||
import io.element.android.services.analytics.api.AnalyticsService
|
import io.element.android.services.analytics.api.AnalyticsService
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean
|
||||||
|
|
||||||
@ContributesNode(RoomScope::class)
|
@ContributesNode(RoomScope::class)
|
||||||
class CreatePollNode @AssistedInject constructor(
|
class CreatePollNode @AssistedInject constructor(
|
||||||
@@ -34,7 +35,16 @@ class CreatePollNode @AssistedInject constructor(
|
|||||||
|
|
||||||
private val inputs: Inputs = inputs()
|
private val inputs: Inputs = inputs()
|
||||||
|
|
||||||
private val presenter = presenterFactory.create(backNavigator = ::navigateUp, mode = inputs.mode)
|
private var isNavigatingUp = AtomicBoolean(false)
|
||||||
|
|
||||||
|
private val presenter = presenterFactory.create(
|
||||||
|
backNavigator = {
|
||||||
|
if (isNavigatingUp.compareAndSet(false, true)) {
|
||||||
|
navigateUp()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mode = inputs.mode,
|
||||||
|
)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
lifecycle.subscribe(
|
lifecycle.subscribe(
|
||||||
|
|||||||
Reference in New Issue
Block a user