diff --git a/android/KMEA/app/src/main/assets/keyboard.html b/android/KMEA/app/src/main/assets/keyboard.html index 5255542aac..d0d4f93cf0 100644 --- a/android/KMEA/app/src/main/assets/keyboard.html +++ b/android/KMEA/app/src/main/assets/keyboard.html @@ -118,8 +118,7 @@ //window.console.log('onStateChange change: ' + change); // Refresh KMW OSK - var kmw=window['keyman']; - kmw['correctOSKTextSize'](); + keyman.correctOSKTextSize(); fragmentToggle = (fragmentToggle + 1) % 100; if(change != 'configured') { // doesn't change the display; only initiates suggestions. diff --git a/web/source/osk/oskView.ts b/web/source/osk/oskView.ts index c3bb941df5..d4bfd23f44 100644 --- a/web/source/osk/oskView.ts +++ b/web/source/osk/oskView.ts @@ -508,9 +508,6 @@ namespace com.keyman.osk { availableHeight -= this.bannerView.height + 5; } this.vkbd.setSize(this.computedWidth, availableHeight, pending); - if(!pending) { - this.vkbd.refreshLayout(); - } const bs = this._Box.style; // OSK size settings can only be reliably applied to standard VisualKeyboard diff --git a/web/source/text/prediction/modelManager.ts b/web/source/text/prediction/modelManager.ts index cce2aeccee..607f291ad6 100644 --- a/web/source/text/prediction/modelManager.ts +++ b/web/source/text/prediction/modelManager.ts @@ -8,10 +8,10 @@ namespace com.keyman.text.prediction { // Allows for easy model lookup by language code; useful when switching keyboards. languageModelMap: {[language:string]: ModelSpec} = {}; - + init() { let keyman = com.keyman.singleton; - + // Registers this module for keyboard (language) and model change events. keyman['addEventListener']('keyboardchange', this.onKeyboardChange.bind(this)); } @@ -46,6 +46,11 @@ namespace com.keyman.text.prediction { let keyman = com.keyman.singleton; let activeLanguage = keyman.keyboardManager.getActiveLanguage(); + if(JSON.stringify(model) == JSON.stringify(this.registeredModels[model.id])) { + // We are already registered, let's not go through and re-register + // because we'll already have the correct model active + return; + } this.registeredModels[model.id] = model; // Register the model for each targeted language code variant.