From a4cdc9203caaebf4dc6f8f8bbac68cea86d3e14c Mon Sep 17 00:00:00 2001 From: jahorton Date: Tue, 5 Mar 2024 09:35:51 +0700 Subject: [PATCH] fix(ios): delayed banner --- .../Classes/Keyboard/KeymanWebViewController.swift | 4 ++-- .../resources/Keyman.bundle/Contents/Resources/ios-host.js | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ios/engine/KMEI/KeymanEngine/Classes/Keyboard/KeymanWebViewController.swift b/ios/engine/KMEI/KeymanEngine/Classes/Keyboard/KeymanWebViewController.swift index 7df21e9603..4350b14936 100644 --- a/ios/engine/KMEI/KeymanEngine/Classes/Keyboard/KeymanWebViewController.swift +++ b/ios/engine/KMEI/KeymanEngine/Classes/Keyboard/KeymanWebViewController.swift @@ -423,8 +423,6 @@ extension KeymanWebViewController { } else { // We're registering a model in the background - don't change settings. webView!.evaluateJavaScript("keyman.addModel(\(stubString));", completionHandler: nil) } - - setBannerHeight(to: Int(InputViewController.topBarHeight)) } func showBanner(_ display: Bool) { @@ -744,6 +742,8 @@ extension KeymanWebViewController: KeymanWebDelegate { // Reset the keyboard's size. keyboardSize = kbSize + setBannerHeight(to: Int(InputViewController.topBarHeight)) + fixLayout() // Will trigger Manager's `keyboardLoaded` method. diff --git a/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/ios-host.js b/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/ios-host.js index 621e643bb9..82e20d9edb 100644 --- a/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/ios-host.js +++ b/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/ios-host.js @@ -76,7 +76,9 @@ function showBanner(flag) { console.log("Setting banner display for dictionaryless keyboards to " + flag); var bc = keyman.osk.bannerController; - bc.inactiveBanner = flag ? new bc.ImageBanner(bannerImgPath) : null; + if(bannerImgPath) { + bc.inactiveBanner = new bc.ImageBanner(bannerImgPath); + } } function setBannerImage(path) { @@ -88,7 +90,7 @@ function setBannerImage(path) { } // If an inactive banner is set, update its image. - bc.inactiveBanner = bc.inactiveBanner ? new bc.ImageBanner(bannerImgPath) : null; + bc.inactiveBanner = new bc.ImageBanner(bannerImgPath); } function setBannerHeight(h) {