Commit graph

26 commits

Author SHA1 Message Date
Joshua A. Horton
8c223a10ed Basic KMP integration success - it still has some glitches, though. 2018-01-18 17:00:59 +07:00
darcywong00
3a0134a758 Handle undefined packageID as "cloud"
Per design discussions, use "cloud" as the package ID when it's undefined. Those keyboards get stored physically at `/cloud/`.

Later on, keyboards installed via kmp will be installed at `/packages/packageID/`

Also update version checker depending on package ID:
1. cloud:  use the version string within the filename
2. all others: parse kmp.json for the keyboard version
2018-01-17 16:08:46 +07:00
darcywong00
4787245808 Round 1 of adding feature for ad-hoc keyboard distribution via kmp 2018-01-17 10:58:25 +07:00
darcywong00
82f78f005c Document why removeKeyboardDownloadEventListeners are removed
Calls to `removeKEyboardDownloadEventListener()` are removed to ensure `onKeyboardDownloadFinished()` gets called
2017-12-15 10:24:40 +07:00
darcywong00
27629a578b Tweaks for keyboard update
Include language name and keyboard name when updating keyboard version. Dismiss the updateProgress dialog when keyboard has finished downloading.

Also fixed a typo in comment
2017-12-14 13:38:15 +07:00
darcywong00
4f5bd09cdb Tweak event handlers and fix processing custom JSON
For now, disable calls to `KMKeyboardDownloaderActivity.removeKEyboardDownloadEventListener()`. The parent activities will always pause when KMKeyboardDownloaderActivity runs, and we want the event handlers to trigger when the keyboards finish downloading.

Also fixed processing custom JSON to handle the JSONArray `languages`.
2017-12-13 12:47:36 +07:00
darcywong00
ebafec1626 Fix url key and isCustom() check 2017-12-13 05:57:49 +07:00
darcywong00
ba1a84dde6 Refactor keyboard download code
Currently in `KMManager`, there's 3 methods to download a `KMKeyboard` (2 in `KMKeyboardDownloader`, 1 in `KMCustomKeyboardDownloader`) for the 3 use-cases respectively:
1. Add new keyboard (from the cloud)
2. Update a keyboard
3. Install a custom keyboard

This PR refactors the following:
1. Code from `MainActivity.checkUrl()`, `KMManager.KMKeyboardDownloader()`, and  `KMManager.CustomKeyboardDownloader()` into a new activity `KMKeyboardDownloadActivity`. 
Code for doing actual file downloads are kept in an `AsyncTask`.
2. `FileDownloader` moved to a separate util class.
3. Confirmation dialogs for downloading keyboards are also refactored into `ConfirmDialogFragment`.
2017-12-13 05:14:45 +07:00
darcywong00
f6a710a383 Fix directory structure in MainActivity.onActivityResult
I suspect this portion of the code is obsolete, but fixed the old `/languages` and `/fonts` structure in this method.
2017-11-30 13:14:50 +07:00
darcywong00
4dd4379a64 "Add new keyboard" downloads to packages/cloud
At the moment, the keboard API isn't publishing the packageID, so using "cloud" as an in-term packageID.

As a result, keyboards get downloaded to /packages/cloud/
2017-11-29 14:49:21 +07:00
darcywong00
e46f6a9cc0 Start moving to new asset structure
By design, kmp keyboards will unzip into /packages/packageID folders. 

1. Moving default eurolatin2 keyboard assets
2. Move old keyboards to new packages structure
2017-11-28 14:48:56 +07:00
darcywong00
ff41c7e446 Update to Android Studio and Gradle 3.0
Per Android Studio 3.0 [Release Notes](https://android-developers.googleblog.com/2017/10/android-studio-30.html)

-Update gradle version
-Change deprecated `compile` dependencies to `implementation` or `api`
-Change maven repositories to google (triplet plugin still on maven)
- Update readme instructions for using the engine
2017-10-30 14:51:24 +07:00
darcywong00
aaa1fc6788 Revert "Temporarily have 2 text fields in Keyman app"
This reverts commit a18bb2a2fd.
2017-09-12 09:49:26 +07:00
darcywong00
a18bb2a2fd Temporarily have 2 text fields in Keyman app
for testing that in-app keyboard resets when changing text area.

Do **not** merge this commit
2017-09-08 11:58:52 +07:00
darcywong00
ff080231dd Add resetContext to SystemKeyboard 2017-09-07 20:12:14 +07:00
darcywong00
2c93c9d20b Revert resume and pause code
cleanup back to original code
2017-08-28 16:14:54 +07:00
darcywong00
942d671d7f Add to history.md changelog
- also removed stray include of facebookSDK
2017-08-23 17:28:47 +07:00
darcywong00
fe775e18f1 Hide keyboard when closing Keyman Browser 2017-08-23 14:12:55 +07:00
Marc Durdin
c6f7cc5f72 Stop gradle daemon from starting when we are running CI 2017-08-21 16:23:02 +07:00
darcywong00
7d228e987e Remove Share to Facebook
Remove FacebookSDK from repo and associated logos
Ignore Facebook package names when generating intents to share
2017-08-15 09:29:17 +07:00
darcywong00
ab7a148129 More cleanup
Remove legacy res/ files and AndroidManifest.xml files that aren't used
Remove unused strings (related to previous licensing)
2017-08-09 09:01:03 +07:00
Darcy Wong
2fc20b6ce6 Fix build scripts for Linux
n trying to build Keyman for Android on Linux, the following issues needed to be fixed:

Set `build.sh` and `gradlew` scripts to executable

KMEA/build.sh needs an OS check so build.bat is only called on Windows

web/source/build.sh needs $compiler and $copmiler_warnings values in quotes
2017-07-31 08:36:10 +07:00
darcywong00
426a49b8db Remove bin and gen folders
Remove bin and gen folders per https://stackoverflow.com/questions/16736856/what-should-be-in-my-gitignore-for-an-android-studio-project
2017-07-25 10:50:10 +07:00
darcywong00
444402c65f Remove www in links
Updated info links from www.keyman.com/* to keyman.com/*
2017-07-25 10:20:22 +07:00
darcywong00
a13dc9d1a1 Add missing asset files and cleanup whitespace
Add missing files needed for KMEA and Samples projects
Also replaced tabs with spaces in some KMAPro files
2017-07-24 14:07:03 +07:00
darcywong00
6d26d7cd9e Keyman for Android 2.8 Open Source
Copy over the Android source
Update build.sh scripts for new paths
KMEA/build.sh also updated to build KMW and use the artifacts
2017-07-21 11:52:22 +07:00