Commit c5aff0d
committed
fix: identity-check incognito-listener clear to survive overlapping IME teardown
KeyboardManager is a process singleton; FlorisImeService.onDestroy cleared its
incognitoModeChangedListener unconditionally. During an overlapping service
teardown/recreate (config change, theme switch, OOM rebind) the framework can run
the new service's onCreate (which registers a fresh listener) before the old
service's onDestroy, so the old clear() would null the live listener — leaving
FLAG_SECURE un-reapplied on a runtime incognito toggle until the next input start.
clearIncognitoModeChangedListener now only nulls the field when it still holds the
caller's own listener reference.1 parent 95f8029 commit c5aff0d
2 files changed
Lines changed: 11 additions & 3 deletions
File tree
- app/src/main/kotlin/dev/patrickgold/florisboard
- ime/keyboard
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
546 | 546 | | |
547 | 547 | | |
548 | 548 | | |
549 | | - | |
| 549 | + | |
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
| |||
Lines changed: 10 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
253 | 253 | | |
254 | 254 | | |
255 | 255 | | |
256 | | - | |
257 | | - | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
258 | 266 | | |
259 | 267 | | |
260 | 268 | | |
| |||
0 commit comments