Commit graph

186 commits

Author SHA1 Message Date
darcywong00
c593a45e7d Update string handling for PackageProcessor
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
2018-05-07 14:47:11 +07:00
darcywong00
15dff6a392 Merge branch 'beta' into android-osk-304 2018-04-27 12:59:14 +07:00
darcywong00
b44ce5edda Fixes #786
Fixed call for finishing activity when cancelling keyboard download dialog
2018-04-27 11:39:38 +07:00
darcywong00
d1dadcc381 Revert to original background-color styling 2018-04-26 14:49:18 +07:00
darcywong00
7fcc6018f3 Fix OSK missing keys on older Android configurations
This fixes #304

Reference: https://jira.appcelerator.org/browse/TIMOB-16358

Older versions of WebView have an issue with transparent/gradient backgrounds. The symptom was the OSK slowly loading keys individually, and having the OSK be missing keys.

A workaround fix is styling the body `background-color` alpha to 1.0.

## Testing configuration
* Android API level 22
* Nexus One emulator
* French-French keyboard
2018-04-25 16:05:39 +07:00
darcywong00
e582632c97 Disable text suggestions in app text field 2018-04-24 16:25:08 +07:00
darcywong00
cfdb2b6591 Hide system OSK when resuming Keyman app
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
2018-04-24 13:41:23 +07:00
darcywong00
0d2c951265 Tweak back button for WebBrowserActivity
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.
2018-04-11 21:54:04 +07:00
darcywong00
aeef50ec94 Adjust build counter 2018-03-22 10:26:45 +07:00
darcywong00
48812184b8 Update Android history.md for 10.0 beta 2018-03-22 09:49:50 +07:00
darcywong00
11d24bf2a6 Add more info
Add prereqs to Android readme, and mention KMW for ios readme
2018-03-20 19:39:40 +07:00
darcywong00
f25300644f Update Android info in-app content for 10.0 2018-03-20 16:03:59 +07:00
darcywong00
cb5e05118d Update android and iOS readme.md for KMW prereqs 2018-03-20 15:10:29 +07:00
darcywong00
ce1781124a Change parameter names for Firebase logging
The `.` character isn't allowed in parameter names passed to Firebase analytics. This was flagging Firebase errors when trying to view the events in the Firebase console.

Replacing `cm.` with `cm_` works. (cm is just the naming convention I used for JS ConsoleMessage properties)
2018-03-16 13:07:14 +07:00
darcywong00
f482aba0f7 Log KMW console error to crashlytics 2018-03-09 08:58:09 +07:00
darcywong00
8e844149e1 Fix path of special OSK font used for longpress of special keys 2018-03-01 14:41:02 +07:00
Darcy Wong
94d2eb52db
Merge pull request #628 from keymanapp/android-increase-connection-timeout-575
Change connection timeout from 10 to 20 sec
2018-02-27 14:28:00 +07:00
darcywong00
ba1d010867 Change connection timeout from 10 to 20 sec 2018-02-26 22:32:07 +07:00
darcywong00
46d9eba5c1 Only passKFont and KOskFont to KMW if they are defined
Per PR review comment, only defined fonts are added to the JSON object going to `kbdInterface.registerStub()`
2018-02-26 14:47:42 +07:00
darcywong00
26f3e52a16 Fix undefined fonts that get passed to KMW
Clean up font parsing so undefined fonts get passed to KMW as `undefined`, and not `'undefined'`.
2018-02-26 12:04:02 +07:00
Darcy Wong
4710db3c56
Merge pull request #616 from keymanapp/web-check-api-endpoints-for-bcp47
[Web] Check API endpoints for BCP-47
2018-02-22 14:24:31 +07:00
Darcy Wong
25ea50472b
Merge pull request #612 from keymanapp/android-material-icons
[Android] Add Material Design icons
2018-02-22 10:57:27 +07:00
darcywong00
90246a72e6 [Android] Use BCP-47 codes for registering keyboards 2018-02-21 22:00:21 +07:00
darcywong00
3d12eb07b8 Update build.sh so CI monitors JUnit test results 2018-02-20 08:52:45 +07:00
darcywong00
4807abfeb4 Replace some menu icons 2018-02-18 23:51:43 +07:00
darcywong00
77257739ed Update history.md 2018-02-18 20:51:58 +07:00
darcywong00
bd36179c4b Update hdpi navigation_cancel 2018-02-18 16:22:55 +07:00
darcywong00
beb886bf40 Update drawable-hdpi 2018-02-18 15:58:35 +07:00
darcywong00
76a3242676 Update drawable-mdpi 2018-02-18 15:45:54 +07:00
darcywong00
c12e82f351 Update drawable-xxhdpi 2018-02-18 15:30:04 +07:00
darcywong00
78dbde2bdc Update drawable-xhdpi 2018-02-18 15:29:50 +07:00
Darcy Wong
b8e4617820
Merge pull request #603 from keymanapp/android-crash-reporting-samples
[Android] Add Crashlytics dependencies to Samples and Test projects
2018-02-16 12:59:42 +07:00
darcywong00
6152b5e467 Remove test button that forced crashes
Now that Crashlytics is verified to run on nightly Release builds, the test button to force crashes can be removed.
2018-02-16 11:14:12 +07:00
darcywong00
32853aa162 Add Crashlytics dependencies to Samples and Test projects
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.
2018-02-15 14:02:59 +07:00
darcywong00
028f9a4764 Cleanup unused Release dir
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.
2018-02-15 07:46:24 +07:00
darcywong00
067b43cfd3 Remove Answers
Removing Answers because of the setup involved with Fabric IO. Keeping this feature to Crashlytics
2018-02-14 20:48:26 +07:00
darcywong00
9cd8eed976 Tweak Crashlytics / Firebase
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
2018-02-14 19:37:21 +07:00
darcywong00
84ddf0c990 Add Firebase Crashlytics for crash reporting
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.
2018-02-14 19:37:21 +07:00
Marc Durdin
a6bd7106c3 Use version parameter in all cloud API calls 2018-02-12 19:22:49 +07:00
darcywong00
f231f84258 Clarify comment to fileProvider path 2018-02-12 08:16:24 +07:00
darcywong00
c85e5991e6 Display welcome.htm for keyboard information
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.
2018-02-12 06:54:08 +07:00
Marc Durdin
d00df683e6
Merge pull request #569 from keymanapp/android-use-api.keyman.com
Use api.keyman.com instead of r.keymanweb.com on Keyman for Android
2018-02-07 12:06:26 +07:00
Marc Durdin
da232c6a9b Fixup to live url 2018-02-06 13:37:28 +07:00
Marc Durdin
ac6408e36e Use api.keyman.com instead of r.keymanweb.com 2018-02-06 13:29:57 +07:00
darcywong00
4d51b1a666 Address review comments
Refactor duplicate code in `useLocalKMP()`
2018-02-06 11:20:19 +07:00
darcywong00
f85ef3e3e4 Improve UX for KMP distribution
Due to Android's limited set of regex characters for intent actions, any local `.kmp*` file triggers the Keyman app. (e.g. `.kmp` is treated the same as `.kmpo`). Added Toast notifications for when the intent inadvertently triggers the Keyman app.

Also updated PackageActivity to display the package name when no `welcome.htm`  file exists.
2018-02-05 16:36:12 +07:00
darcywong00
e7294659d2 Remove redundant res/ folder
`KMEA/res/` existed from the original code-base, but is not used. (KMEA uses `KMEA/app/src/main/res/`
2018-02-05 09:12:59 +07:00
darcywong00
90529e5239 Fix KMAPro/build.sh to use bash instead of sh
A Linux user reports issues building KMAPro because the script uses bash syntax instead of sh.
```
while [[ $# -gt 0 ]] ; do
```

KMEA is already using `#!/bin/bash`
2018-02-02 15:51:42 +07:00
darcywong00
b77d8e8a6a Fix ta reference that gets passed to KMW
The text area that gets passed to KMW wasn't being properly initialized. This impacted "cloud" keyboards from working
2018-02-02 11:58:15 +07:00
darcywong00
913e58a60a Request storage permissions at runtime to install local KMP file
Starting with Android 6.0 Marshmallow (API 23), apps need to request permissions for "dangerous" (Storage) access at runtime. Previous versions of Android granted permissions at installation. Normal permissions declared in the manifest are granted automatically.

This doesn't affect Keyman running on older versions of Android

[Reference](https://developer.android.com/training/permissions/requesting.html)

[Runtime Permissions Sample](https://github.com/googlesamples/android-RuntimePermissions) provided by Google
2018-02-02 08:28:15 +07:00