mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-06-07 09:53:42 -04:00
[android] Fix swkbd inline keyboard submitting before appearing
This commit is contained in:
parent
fc92d5a860
commit
0cc0db0a65
1 changed files with 9 additions and 1 deletions
|
|
@ -46,12 +46,20 @@ object SoftwareKeyboard {
|
|||
// There isn't a good way to know that the IMM is dismissed, so poll every 500ms to submit inline keyboard result.
|
||||
val handler = Handler(Looper.myLooper()!!)
|
||||
val delayMs = 500
|
||||
var keyboardEverShown = false
|
||||
handler.postDelayed(
|
||||
object : Runnable {
|
||||
override fun run() {
|
||||
val insets = ViewCompat.getRootWindowInsets(overlayView)
|
||||
val isKeyboardVisible = insets!!.isVisible(WindowInsets.Type.ime())
|
||||
val isKeyboardVisible = insets?.isVisible(WindowInsets.Type.ime()) == true
|
||||
if (isKeyboardVisible) {
|
||||
keyboardEverShown = true
|
||||
handler.postDelayed(this, delayMs.toLong())
|
||||
return
|
||||
}
|
||||
|
||||
if (!keyboardEverShown) {
|
||||
// Keyboard hasn't appeared yet; keep polling instead of submitting empty input.
|
||||
handler.postDelayed(this, delayMs.toLong())
|
||||
return
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue