fix(mobile): Fixed issue where pressing the back button on editor screen wouldn't switch back to the items list on Android

This commit is contained in:
Aman Harwara
2022-12-04 16:49:46 +05:30
parent 90e10c76f7
commit 07cb00a815
7 changed files with 32 additions and 17 deletions
@@ -3,6 +3,11 @@ type RemoveListener = () => void
export class AndroidBackHandler {
private listeners = new Set<Listener>()
private fallbackListener: Listener | undefined
setFallbackListener(listener: Listener) {
this.fallbackListener = listener
}
addEventListener(listener: Listener): RemoveListener {
this.listeners.add(listener)
@@ -13,10 +18,17 @@ export class AndroidBackHandler {
}
notifyEvent() {
let handled = false
for (const listener of Array.from(this.listeners).reverse()) {
if (listener()) {
handled = true
return
} else {
handled = false
}
}
if (!handled && this.fallbackListener) {
this.fallbackListener()
}
}
}