Skip to content

Commit

Permalink
Merge branch 'chore/merge-master-into-epic-ldml-editor' into feat/dev…
Browse files Browse the repository at this point in the history
…eloper/12789-visual-prototype-epic-ldml-editor
  • Loading branch information
srl295 committed Dec 24, 2024
2 parents 079270f + e2ce5f7 commit d77c19f
Show file tree
Hide file tree
Showing 173 changed files with 9,198 additions and 1,246 deletions.
60 changes: 60 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,65 @@
# Keyman Version History

## 18.0.162 alpha 2024-12-19

* fix(mac): standardize interaction between OSK and physical keyboard (#12836)

## 18.0.161 alpha 2024-12-17

* fix(mac): OSK layers displayed consistently for hardware and OSK modifiers (#12829)

## 18.0.160 alpha 2024-12-16

* feat(ios): configurable keyboard height (#12571)
* chore(common/web): remove .c8rc.json from types and merge exclusions into package.json (#12813)
* fix(android/engine): Initialize index when resuming KeyboardPicker (#12832)

## 18.0.159 alpha 2024-12-13

* chore(core): remove meson warnings for wasm builds (#12827)
* chore(linux): Update debian changelog (#12023)

## 18.0.158 alpha 2024-12-11

* fix(linux): pushing of updated changelog branch (#12818)
* fix(linux): work around Lintian errors (#12815)

## 18.0.157 alpha 2024-12-10

* test(common/web): unit tests for kvk-file-writer (#12734)

## 18.0.156 alpha 2024-12-09

* fix(developer): remove platforms from kmc-generate LM readme (#12803)
* test(developer): add test for ERROR_DescriptionIsMissing to kmc-keyboard-info (#12804)
* chore(developer): verify bundled node version when building installer (#12806)
* fix(developer): support hint property in displaymap (#12807)
* fix(common/web): delete replaceExtension in types/src/util/file-types.ts (#12762)
* chore(developer): add some docs for language examples in kmp.json (#12805)
* fix(core): implement ldml_processor::get_key_list() (#12644)

## 18.0.155 alpha 2024-12-07

* chore(android,windows): Update crowdin for Czech (#12792)

## 18.0.154 alpha 2024-12-06

* feat(developer,core): local imports (#12750)
* chore(core): remove `km_core_keyboard_load` API (#12769)
* chore: rename TestCompilerCallbacks.ts (#12775)
* chore(mac): update to SIL logo with glyph in About window (#12766)
* chore(android,windows): Update crowdin for Italian (#12793)
* change(developer): use full github url in kmc copy parameters (#12773)
* chore(developer): add baseline tests for bcp47 codes to kmc-package (#12506)
* chore(core): only install node on Windows if not available (#12772)
* chore(android): Disable auto-correct UI controls (#12791)

## 18.0.153 alpha 2024-12-05

* feat(developer,common): verify normalization of strings (#12748)
* chore(core): Add link to Keyman Glossary (#12774)
* test(common/web/types): unit tests for file-types (#12716)

## 18.0.152 alpha 2024-12-04

* refactor(mac): pass kmx data blob to keyman core instead of file path (#12760)
Expand Down
2 changes: 1 addition & 1 deletion VERSION.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.0.153
18.0.163
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,11 @@ public void onCreate(Bundle savedInstanceState) {
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.suggestion_radio_group);
radioGroup.clearCheck();

// Auto-correct disabled for Keyman 18.0 #12767
int[] RadioButtonArray = {
R.id.suggestion_radio_0,
R.id.suggestion_radio_1,
R.id.suggestion_radio_2,
R.id.suggestion_radio_3};
R.id.suggestion_radio_2};
RadioButton radioButton = (RadioButton)radioGroup.findViewById(RadioButtonArray[maySuggest]);
radioButton.setChecked(true);

Expand Down
6 changes: 3 additions & 3 deletions android/KMAPro/kMAPro/src/main/res/values-cs-rCZ/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,11 @@
<string name="spacebar_caption_hint_blank" comment="Spacebar caption hint - blank">Nezobrazovat titulek v mezerníku</string>
<!-- Context: Keyman Settings menu / Haptic feedback -->
<string name="haptic_feedback" comment="haptic feedback on key press">Při psaní vibrovat</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner" comment="text suggestions banner">Vždy zobrazovat banner</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner_on" comment="Description when toggle is on">K provedení</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner_off" comment="Description when toggle is off">Pokud je vypnuto, zobrazí se pouze pokud je povolen prediktivní text</string>
<!-- Context: Keyman Settings menu -->
<string name="show_send_crash_report" comment="permission for sending crash reports">Povolit odesílání hlášení o pádech přes síť</string>
Expand Down
16 changes: 8 additions & 8 deletions android/KMAPro/kMAPro/src/main/res/values-it-rIT/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
<!-- Context: Keyman Settings menu -->
<string name="adjust_keyboard_height" comment="Menu action to adjust keyboard height">Regola altezza tastiera</string>
<!-- Context: Keyman Settings menu -->
<string name="adjust_longpress_delay" comment="Menu action to adjust longpress delay duration">Adjust longpress delay</string>
<string name="adjust_longpress_delay" comment="Menu action to adjust longpress delay duration">Regola ritardo pressione prolungata</string>
<!-- Context: Keyman Settings menu -->
<string name="spacebar_caption" comment="Menu action to set the spacebar caption">Didascalia barra spaziatrice</string>
<!-- Context: Keyman Settings menu / Spacebar caption -->
Expand All @@ -89,11 +89,11 @@
<string name="spacebar_caption_hint_blank" comment="Spacebar caption hint - blank">Non mostrare la didascalia sulla barra spaziatrice</string>
<!-- Context: Keyman Settings menu / Haptic feedback -->
<string name="haptic_feedback" comment="haptic feedback on key press">Vibra durante la digitazione</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner" comment="text suggestions banner">Mostra sempre il banner</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner_on" comment="Description when toggle is on">Da attuare</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner_off" comment="Description when toggle is off">Quando è spento, mostrato solo quando il testo predittivo è abilitato</string>
<!-- Context: Keyman Settings menu -->
<string name="show_send_crash_report" comment="permission for sending crash reports">Consenti l\'invio di segnalazioni di crash attraverso la rete</string>
Expand Down Expand Up @@ -126,13 +126,13 @@
<!-- Context: Adjust Keyboard Height menu -->
<string name="reset_to_defaults" comment="Button to reset to default heights">Ripristina impostazioni predefinite</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="longpress_delay_time" comment="Current longpress delay time (seconds)">Delay Time: %1$.1f seconds</string>
<string name="longpress_delay_time" comment="Current longpress delay time (seconds)">Tempo ritardo: %1$.1f secondi</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="ic_delay_time_up" comment="Make longpress delay longer">Delay time longer</string>
<string name="ic_delay_time_up" comment="Make longpress delay longer">Tempo ritardo maggiore</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="ic_delay_time_down" comment="Make longpress delay shorter">Delay time shorter</string>
<string name="ic_delay_time_down" comment="Make longpress delay shorter">Tempo ritardo minore</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="ic_longpress_delay_slider" comment="Adjust longpress delay time">Longpress delay time slider</string>
<string name="ic_longpress_delay_slider" comment="Adjust longpress delay time">Cursore tempo ritardo pressione prolungata</string>
<!-- Context: Keyman Web Browser -->
<string name="hint_text" comment="Prompt to type in the browser search bar">Cerca o digita URL</string>
<!-- Context: Keyman Web Browser -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@

import android.content.ComponentName;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
Expand Down Expand Up @@ -252,8 +253,17 @@ protected void onResume() {
adapter.notifyDataSetChanged();
}

int curKbPos = KeyboardController.getInstance().getKeyboardIndex(KMKeyboard.currentKeyboard());
setSelection(curKbPos);

// Determine the index to the current keyboard position to highlight as the selected keyboard
int currentKeyboardIndex;
String currentKeyboardKey = KMKeyboard.currentKeyboard();
if (currentKeyboardKey == null) {
SharedPreferences prefs = this.getSharedPreferences(this.getString(R.string.kma_prefs_name), Context.MODE_PRIVATE);
currentKeyboardIndex = prefs.getInt(KMManager.KMKey_UserKeyboardIndex, 0);
} else {
currentKeyboardIndex = KeyboardController.getInstance().getKeyboardIndex(currentKeyboardKey);
}
setSelection(currentKeyboardIndex);

imeList = getIMEList(this);
BaseAdapter imeAdapter = (BaseAdapter)imeListAdapter;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,13 @@
android:layout_gravity="center_vertical"
android:text="@string/suggestions_radio_2" />

<com.google.android.material.radiobutton.MaterialRadioButton
<!-- Auto-correct disabled for Keyman 18.0 #12767 -->
<!--com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/suggestion_radio_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/suggestions_radio_3" />
android:text="@string/suggestions_radio_3" /-->

</RadioGroup>

Expand Down
9 changes: 7 additions & 2 deletions android/KMEA/app/src/main/res/values-cs-rCZ/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -137,10 +137,15 @@
<string name="keyboard_install_toast" comment="Notification when a keyboard is installed">Klávesnice %1$s nainstalována</string>
<!-- Context: Language Settings Keyboard uninstall strings -->
<string name="keyboard_deleted_toast" comment="Notification when a keyboard is deleted">Klávesnice smazána</string>
<!-- Context: Language Settings menu strings -->
<!-- Context: Language Settings menu strings. Removed in Keyman 18 -->
<string name="enable_corrections" comment="Enable corrections from the suggestion banner">Povolit opravy</string>
<!-- Context: Language Settings menu strings -->
<!-- Context: Language Settings menu strings. Removed in Keyman 18 -->
<string name="enable_predictions" comment="Enable predictions from the suggestion banner">Povolit predikce</string>
<!-- Context: Language Settings menu strings - radio buttons -->
<string name="suggestions_radio_0" comment="Predictions and corrections disabled">Vypnout návrhy</string>
<string name="suggestions_radio_1" comment="Suggestions Enabled: Predictions with no corrections">Pouze predikce</string>
<string name="suggestions_radio_2" comment="Suggestions Enabled: Predictions with corrections">Predikce s opravami</string>
<string name="suggestions_radio_3" comment="Suggestions Enabled: Predictions with auto-corrections">Predikce s automatickými opravami</string>
<!-- Context: Language Settings menu strings -->
<string name="model_label">Slovník</string>
<plurals name="model_count">
Expand Down
9 changes: 7 additions & 2 deletions android/KMEA/app/src/main/res/values-it-rIT/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,15 @@
<string name="keyboard_install_toast" comment="Notification when a keyboard is installed">%1$s tastiera installata</string>
<!-- Context: Language Settings Keyboard uninstall strings -->
<string name="keyboard_deleted_toast" comment="Notification when a keyboard is deleted">Tastiera eliminata</string>
<!-- Context: Language Settings menu strings -->
<!-- Context: Language Settings menu strings. Removed in Keyman 18 -->
<string name="enable_corrections" comment="Enable corrections from the suggestion banner">Abilita correzioni</string>
<!-- Context: Language Settings menu strings -->
<!-- Context: Language Settings menu strings. Removed in Keyman 18 -->
<string name="enable_predictions" comment="Enable predictions from the suggestion banner">Abilita previsioni</string>
<!-- Context: Language Settings menu strings - radio buttons -->
<string name="suggestions_radio_0" comment="Predictions and corrections disabled">Disabilita suggerimenti</string>
<string name="suggestions_radio_1" comment="Suggestions Enabled: Predictions with no corrections">Solo previsioni</string>
<string name="suggestions_radio_2" comment="Suggestions Enabled: Predictions with corrections">Previsioni con correzioni</string>
<string name="suggestions_radio_3" comment="Suggestions Enabled: Predictions with auto-corrections">Previsioni con correzioni automatiche</string>
<!-- Context: Language Settings menu strings -->
<string name="model_label">Dizionario</string>
<plurals name="model_count">
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions android/docs/help/basic/using-the-banner.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,18 @@ Keyman keyboards now always display a banner above the keyboard for one of the f
* Display a Keyman-themed banner so popups and gestures for the top row of keys are visible
* Reserved for future functionality

## Controlling the Keyboard Banner Mode

The banner mode can be controlled by going to Keyman Settings --> (select an installed language)

At the bottom of the language settings menu are three controls for the banner:

![](../android_images/disable-suggestions.png)

* Disable suggestions (Display image banner instead)
* Predictions only (Suggestion banner displays predictions)
* Predictions with corrections (Suggestion banner displays predictions and corrections)

## Using the Suggestion Banner

If a [dictionary is installed](installing-dictionaries) and enabled for the active Keyman keyboard, the banner will display suggestions that can be selected.
Expand Down
12 changes: 0 additions & 12 deletions common/web/types/.c8rc.json

This file was deleted.

2 changes: 1 addition & 1 deletion common/web/types/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ function do_test() {

readonly C8_THRESHOLD=60

# Excludes are defined in .c8rc.json
# Excludes are defined in package.json
c8 -skip-full --reporter=lcov --reporter=text --lines $C8_THRESHOLD --statements $C8_THRESHOLD --branches $C8_THRESHOLD --functions $C8_THRESHOLD mocha ${MOCHA_FLAGS} "${builder_extra_params[@]}"
builder_echo warning "Coverage thresholds are currently $C8_THRESHOLD%, which is lower than ideal."
builder_echo warning "Please increase threshold in build.sh as test coverage improves."
Expand Down
8 changes: 7 additions & 1 deletion common/web/types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,13 @@
"src/keyman-touch-layout/keyman-touch-layout-file-writer.ts",
"src/osk/osk.ts",
"src/schemas/*",
"tests/"
"tests/",
"src/keyboard-object.ts",
"src/outputTarget.interface.ts",
"src/*.d.ts",
"src/main.ts",
"src/schema-validators.ts",
"src/schemas.ts"
]
},
"sideEffects": false
Expand Down
16 changes: 0 additions & 16 deletions common/web/types/src/util/file-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,19 +166,3 @@ export function filenameIs(filename: string, fileType: Source | Binary) {
}
return filename.toLowerCase().endsWith(fileType);
}

/**
* Replaces a filename extension with the new extension. Returns `null` if the
* filename does not end with oldExtension.
* @param filename
* @param oldExtension
* @param newExtension
* @returns
*/
export function replaceExtension(filename: string, oldExtension: string, newExtension: string): string {
const ext = filename.substring(filename.length - oldExtension.length);
if(ext !== oldExtension) {
return null;
}
return filename.substring(0, filename.length - oldExtension.length) + newExtension;
}
Loading

0 comments on commit d77c19f

Please sign in to comment.