Merge pull request #2204 from keymanapp/android-avoid-crash-when-analytics-unavailable-fixes-2202-for-12.0

[Android] If analytics is disabled, the app may crash.
This commit is contained in:
Marc Durdin 2019-10-14 13:23:54 +07:00 committed by GitHub
commit e7a00aae9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 16 deletions

View file

@ -1,9 +1,13 @@
![Keyman](https://keyman.com/cdn/dev/img/logo2.png)
![Keyman](https://keyman.com/cdn/dev/img/logo2.png)
Open Source
[Keyman](https://keyman.com) makes it possible for you to type in over 1,000 languages on Windows, iPhone, iPad, Android tablets and phones, and even instantly in your web browser.
[comment]: # (CI Build statuses)
Development Status on [status.keyman.com](https://status.keyman.com)
| Platform | Master | Nightly | Beta | Stable |
| -------- | :----: | :-----: | :--: | :----: |
| Windows | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:Keyman_Build)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:KeymanDesktop_Nightly)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:KeymanDesktop_Beta)/statusIcon)| ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:KeymanDesktop_Stable),branch:(default:false)/statusIcon) |
@ -13,19 +17,17 @@ Open Source
| iOS | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:Keyman_iOS_Master)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:Keyman_iOS_Nightly)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:Keyman_iOS_Beta)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:Keyman_iOS_Stable),branch:(default:false)/statusIcon) |
| Linux | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:KeymanLinux_Master)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:KeymanLinux_Nightly)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:KeymanLinux_Beta)/statusIcon) | ![Build Status](https://build.palaso.org/app/rest/builds/buildType:(id:KeymanLinux_Stable),branch:(default:false)/statusIcon) |
[Keyman](https://keyman.com) makes it possible for you to type in over 1,000 languages on Windows, iPhone, iPad, Android tablets and phones, and even instantly in your web browser.
# Getting Started
## Desktop Platforms ##
[Windows](./windows/src/README.md)
[macOS](./mac/README.md)
[Linux](./linux/README.md)
* [Windows](./windows/src/README.md)
* [macOS](./mac/README.md)
* [Linux](./linux/README.md)
## Web & Mobile Platforms ##
[Web](./web/README.md)
[Android](./android/README.md)
[iOS](./ios/README.md)
* [Web](./web/README.md)
* [Android](./android/README.md)
* [iOS](./ios/README.md)
# Release Types

5
android/.gitignore vendored
View file

@ -31,4 +31,7 @@ gradle_models.ser
KMEA/app/src/main/assets/
KMAPro/assets/keyman.js
# Eclipse files
.project
.settings/
.classpath

View file

@ -616,7 +616,9 @@ final class KMKeyboard extends WebView {
params.putString("keyboardName", this.keyboardName);
params.putString("keyboardVersion", this.keyboardVersion);
mFirebaseAnalytics.logEvent("kmw_console_error", params);
if(mFirebaseAnalytics != null) {
mFirebaseAnalytics.logEvent("kmw_console_error", params);
}
}
// Extract Unicode numbers (\\uxxxx) from a layer to character string.
@ -1300,12 +1302,12 @@ final class KMKeyboard extends WebView {
popupKeysList = null;
}
break;
}
}
}
*/
/*
* Override onDraw method to render missing characters for Android API 17 & 18 font rendering bug.
/*
* Override onDraw method to render missing characters for Android API 17 & 18 font rendering bug.
private Bitmap keyboardImage;
private Canvas keyboardCanvas;
private Paint paint;

View file

@ -323,7 +323,7 @@ public final class KMManager {
if (parent != null)
parent.removeView(SystemKeyboard);
keyboardLayout.addView(SystemKeyboard);
mainLayout.addView(keyboardLayout);
//mainLayout.addView(overlayLayout);
return mainLayout;
@ -812,7 +812,10 @@ public final class KMManager {
params.putString("keyboardID", keyboardInfo.get(KMManager.KMKey_KeyboardID));
params.putString("keyboardName", keyboardInfo.get(KMManager.KMKey_KeyboardName));
params.putString("keyboardVersion", keyboardInfo.get(KMManager.KMKey_KeyboardVersion));
mFirebaseAnalytics.logEvent("km_add_keyboard", params);
if(mFirebaseAnalytics != null) {
mFirebaseAnalytics.logEvent("km_add_keyboard", params);
}
return KeyboardPickerActivity.addKeyboard(context, keyboardInfo);
}

View file

@ -3,6 +3,10 @@
## 13.0 alpha
* Start version 13.0
## 2019-10-14 12.0.4204 stable
* Bug Fix:
* FirstVoices app may crash if analytics is not present (#2204)
## 2019-10-10 12.0.4201 stable
* Bug Fix:
* Use lexical model package version for lexical model version (#2195)