Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 24 additions & 24 deletions android/KMEA/app/src/main/java/com/keyman/engine/KMKeyboard.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ final class KMKeyboard extends WebView {
*/
protected static KMManager.BannerType currentBanner = KMManager.BannerType.HTML;

private static String txtFontPath = "";
private static String textFontPath = "";
private static String oskFontPath = "";
private final String fontUndefined = "undefined";
private GestureDetector gestureDetector;
Expand Down Expand Up @@ -549,7 +549,7 @@ protected void toggleSuggestionBanner(HashMap<String, String> associatedLexicalM
* @return String
*/
public static String textFontFilename() {
return txtFontPath;
return textFontPath;
}

/**
Expand Down Expand Up @@ -660,15 +660,15 @@ public boolean prepareKeyboardSwitch(String packageID, String keyboardID, String
}

public boolean setKeyboard(String packageID, String keyboardID, String languageID,
String keyboardName, String languageName, String kFont,
String kOskFont) {
String keyboardName, String languageName, String textFontFilename,
String oskFontFilename) {
return setKeyboard(packageID, keyboardID, languageID, keyboardName, languageName,
kFont, kOskFont, null);
textFontFilename, oskFontFilename, null);
}

public boolean setKeyboard(String packageID, String keyboardID, String languageID,
String keyboardName, String languageName, String kFont,
String kOskFont, String displayName) {
String keyboardName, String languageName, String textFontFilename,
String oskFontFilename, String displayName) {
if (packageID == null || keyboardID == null || languageID == null || keyboardName == null || languageName == null) {
return false;
}
Expand All @@ -691,23 +691,23 @@ public boolean setKeyboard(String packageID, String keyboardID, String languageI
languageID = kbInfo.getLanguageID();
keyboardName = kbInfo.getKeyboardName();
languageName = kbInfo.getLanguageName();
kFont = kbInfo.getFont();
kOskFont = kbInfo.getOSKFont();
textFontFilename = kbInfo.getFont();
oskFontFilename = kbInfo.getOSKFont();
retVal = false;

// Keyboard changed, so determine version again
keyboardVersion = packageID.equals(KMManager.KMDefault_UndefinedPackageID) ?
KMManager.getLatestKeyboardFileVersion(getContext(), packageID, keyboardID) : null;
}

if(kOskFont == null || kOskFont.isEmpty())
kOskFont = kFont;
if(oskFontFilename == null || oskFontFilename.isEmpty())
oskFontFilename = textFontFilename;

JSONObject jDisplayFont = makeFontObject(kFont, packageID);
JSONObject jOskFont = makeFontObject(kOskFont, packageID);
JSONObject textFont = makeFontObject(textFontFilename, packageID);
JSONObject oskFont = makeFontObject(oskFontFilename, packageID);

txtFontPath = getFontFilename(kFont, packageID);
oskFontPath = getFontFilename(kOskFont, packageID);
textFontPath = getFontFilename(textFontFilename, packageID);
oskFontPath = getFontFilename(oskFontFilename, packageID);

String kbKey = KMString.format("%s_%s", languageID, keyboardID);

Expand All @@ -722,8 +722,8 @@ public boolean setKeyboard(String packageID, String keyboardID, String languageI
reg.put("KF", keyboardUrl);
reg.put("KP", packageID);

if (jDisplayFont != null) reg.put("KFont", jDisplayFont);
if (jOskFont != null) reg.put("KOskFont", jOskFont);
if (textFont != null) reg.put("KFont", textFont);
if (oskFont != null) reg.put("KOskFont", oskFont);
if (displayName != null) reg.put("displayName", displayName);
} catch(JSONException e) {
KMLog.LogException(TAG, "", e);
Expand Down Expand Up @@ -926,22 +926,22 @@ private void saveCurrentKeyboardIndex() {

/**
* Return the full path to the font file. If the font is invalid, return empty string.
* @param font String - Font filename
* @param fontFilename String - Font filename
* @param packageID String - Package ID
* @return String - Full path to the font file. If font is invalid, return "".
* @return String - Full path to the font file. If fontFilename is invalid, return "".
*/
private String getFontFilename(String font, String packageID) {
if(font == null || font.equals("")) {
private String getFontFilename(String fontFilename, String packageID) {
if(fontFilename == null || fontFilename.equals("")) {
return "";
}

if (!FileUtils.hasFontExtension(font)) {
if (!FileUtils.hasFontExtension(fontFilename)) {
// QUESTION: do we log this?
return "";
}

String fontRoot = KMManager.isDefaultFont(font) ? getDataRootPath() : getPackageRootPath(packageID);
return fontRoot + font;
String fontRoot = KMManager.isDefaultFont(fontFilename) ? getDataRootPath() : getPackageRootPath(packageID);
return fontRoot + fontFilename;
}

@SuppressLint("InflateParams")
Expand Down
14 changes: 7 additions & 7 deletions android/docs/engine/KMManager/setKeyboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ normally returned by [`getKeyboardInfo()`](getKeyboardInfo).

```java
KMManager.setKeyboard(String packageID, String keyboardID, String languageID)
KMManager.setKeyboard(String packageID, String keyboardID, String languageID, String keyboardName, String languageName, String kFont, String kOskFont)
KMManager.setKeyboard(String packageID, String keyboardID, String languageID, String keyboardName, String languageName, String kFont, String kOskFont, String displayName)
KMManager.setKeyboard(String packageID, String keyboardID, String languageID, String keyboardName, String languageName, String textFontFilename, String oskFontFilename)
KMManager.setKeyboard(String packageID, String keyboardID, String languageID, String keyboardName, String languageName, String textFontFilename, String oskFontFilename, String displayName)
```

### Parameters
Expand All @@ -56,13 +56,13 @@ KMManager.setKeyboard(String packageID, String keyboardID, String languageID, St
`languageName`
: Name of the associated language.

`kFont`
: Filename or description of the font to type with the keyboard. Can be `null`
`textFontFilename`
: Filename of the font to type with the keyboard. Can be `null`
or empty string.

`kOskFont`
: Filename or description of the font displayed on the keyboard. Can be `null`
or empty string.
`oskFontFilename`
: Filename of the font displayed on the keyboard. Can be `null`
or empty string, and if `null` or empty string, uses `textFontFilename`.

`displayName`
: A text string to display on the spacebar identifying this keyboard; if `null`,
Expand Down