This is a follow-on fix of #913
The same `webView.pauseTimers()` that was disabling the globe button in system keyboards is also impacting when the WebBrowser is paused.
Bring in the current app info page from https://help.keyman.com/products/android/10.0/
* Update to Khmer Angkor
* Update images
* Removes references of sharing to Facebook
- Does not include cross-references to versions 2.0 and 10.0 since this is an offline info page.
Fixes#750
Currently, Keyman for Android targets SDK version 25 (Nougat).
This PR targets the latest Android API and updates all the Gradle dependencies to the latest. This will remove some lint Obsolete warnings.
Sample and Test projects needed to add
```
implementation 'com.android.support:support-v4:27.1.1'
```
to ensure all dependencies use the same version.
Fixes#819
* If package version undefined, use "1.0"
* Keyman Developer won't allow undefined package name, but just in case return package ID from the filename
* Check for null before String.toLowerCase()
* Added package processor test for undefined version
This handles all transitions where an external app/dialog using the system OSK returns to the Keyman app such as resuming:
* from WebBrowserActivity
* from Android Oreo's "Add to dictionary" dialog
This is a follow-on to #220 that fixed 2 OSK that were appearing when exiting WebBrowserActivity.
* If navigation is possible, backButton navigates back.
* Hide the system OSK so returning to Keyman app won't have 2 keyboards visible
Also ignore build_file_checksums file that Android Gradle 3.1 generates.
Consumers of KMEA need to include Firebase and Crashlytics dependencies, but don't need to run the Google services. This simplifies these projects of not neeeding google-services.json.
Also added `-no-daemon` and `-debug` options to Samples and Test `build.sh` scripts so they can be run on CI servers.
Originally, the kMAPro/src/Release folder was intended for the CI server to copy the google-services.json file, but that won't be where it gets placed now.
Using Crashlytics for crash reporting.
Trying Firebase and Crashlytics.Answers for logging events (like km_add_keyboard) for analytics
Firebase events don't persist between app launches
While legacy stable kmapro releases have analytics on the Google Play Console, Google recommends [Firebase Crashlytics](https://firebase.google.com/docs/crash/) for crash reporting.
This requires a `google-services.json` file for gradle builds. A sanitized version intended for developers/Debug variant is checked into the repo, and is associated with an appliction ID `com.tavultesoft.kmapro.debug`. The one for `com.tavultesoft.kmapro` releaeses will go on the CI servers.
Breaking change: Consuming apps of KMEA will be responsible for including the Firebase dependencies. At the moment, only kmapro has been updated.
TBD: Registering KMSamples and the Test Harness with Firebase for their own `google.services.json` file.
- Log addKeyboard as an analytic event
- Update kmapro build.sh script to allow debug-only variant
- Add info to history.md and README.md
- Add Gradle setting so CI server can use production `google-services.json` file
- Temporarily add a menu button to force a crash. This is engineering code that will be removed once analytics in a Release build is confirmed.
For keyboards installed via keyboard packages, use the welcome.htm if it exists for keyboard information
- Update PackageProcessorTest to include CustomHelpLink info
- Renamed Welcome.htm to welcome.htm in test_resources/**/gff_amh_7_test_json.kmp.