mirror of
https://github.com/standardnotes/app
synced 2026-08-04 00:16:32 -04:00
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:
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user