Commit graph

54 commits

Author SHA1 Message Date
Darcy Wong
795de1ecf4 chore(android/app): Migrate launcher icon to adaptive 2021-03-18 21:36:52 +07:00
Darcy Wong
6a2e321306 change(android): Update theming 2021-03-13 15:44:47 +07:00
Darcy Wong
b969bae423 feat(android/app): Add Settings menu to change display language 2021-01-15 06:44:25 +07:00
Darcy Wong
013e9a6187 fix(android/engine): Remove WRITE_EXTERNAL_STORAGE permission
Refactor how DownloadManager files are handled:
* File gets copied to cache
2020-12-17 17:01:39 +07:00
Darcy Wong
00e0698602 fix(android/browser): Use separate process for WebViews 2020-10-27 10:36:19 +07:00
Darcy Wong
d9302f8cba fix(android/browser): Improve how browser handles input
* Don't log `MalformedURLExceptions` since it may be a query
* URLEncode the string if it seems to be a URL
* Set `android:usesCleartextTraffic="true"` which allows http:// traffic (API 23+)
2020-10-20 08:54:58 +07:00
Darcy Wong
f63757eb6b fix(android/app): Adjust namespaces 2020-09-24 13:48:53 +07:00
Darcy Wong
4f961189de fix(android/app): Increase intent priority for kmp download 2020-09-24 12:51:23 +07:00
Darcy Wong
fa1fd68d3f fix(android): Re-enable monitoring of Application Not Responding (ANR) 2020-09-02 11:20:27 +07:00
Darcy Wong
1b97aa00d8 fix(android): Split intent filters 2020-08-03 14:59:43 +07:00
Darcy Wong
fe27e73ac7 feat(android/app): Associate app with /keyboards/install links 2020-08-03 13:37:59 +07:00
Darcy Wong
5256ddb5de feat(android): Add app association to keyman.com
Following the reference from https://developer.android.com/training/app-links/verify-site-associations

> When `android:autoVerify="true"` is present on any one of your intent filters, installing your app on devices with Android 6.0 and higher causes the system to attempt to verify all hosts associated with the URLs in any of your app's intent filters.
2020-07-30 13:11:15 +07:00
Darcy Wong
257efec3d5 fix(android): Remove 13.0 code for downloading keyboards 2020-07-28 14:11:24 +07:00
Darcy Wong
c2a0d68b14 fix(android): Address review comments
* Use URI to handle query parameters instead of strings

Also in resuming work on the PR
* Change the staging host to keyman-staging.com
* Move helper for determining host
2020-07-27 13:57:49 +07:00
Darcy Wong
b794eab191 fix(android): Revert AndroidManifest
From PR discussion, the app should change the keyboards/install link (not display in browser) into a downloading link that MainActivity handles
2020-07-17 11:27:41 +07:00
Darcy Wong
eb51b8cc55 fix(android): Update intent filter for /keyboards/install
Address some review comments:
* Update intent filter to use /keyboards/install (/go/packge/download commented out)
* Add some test cases to for testing Keyman install link
2020-07-16 13:47:16 +07:00
Darcy Wong
d1ac23105c fix(android): Fix intent and parsing of URL query
* Add intent to handle download links from current live site: https://keyman.com/keyboard/download/
* Fix parsing of bcp47 query
* Only use the path for determining filename from packageID
*
2020-07-15 06:32:17 +07:00
Darcy Wong
10f503660d fix(android): Handle go/package/download links 2020-07-13 21:57:51 +07:00
Darcy Wong
d575ed9bab fix(android/engine): Update intents for downloading keyboards 2020-07-13 14:28:07 +07:00
Darcy Wong
7bd304ee71 fix(android): Implement menu to add language for installed keyboard pkg 2020-06-18 21:44:14 +07:00
Darcy Wong
6c3f887e22 feat(android/engine): Consolidate install menus 2020-06-16 15:45:04 +07:00
Marc Durdin
b5f32fbbaf fix(android): use environment and version-with-tag for sentry 2020-04-28 11:34:22 +10:00
Darcy Wong
a084c92456 feat(android): Handle keyman:download scheme for deep linking 2020-04-06 20:39:11 +07:00
Darcy Wong
984d907c92 fix(android): Add check for WRITE_EXTERNAL_STORAGE permissions 2020-04-04 15:37:47 +07:00
Darcy Wong
975821d510
Merge pull request #2816 from keymanapp/feat/android/rtl
feat(android): Start adding RTL to layouts
2020-03-13 08:07:31 +07:00
Darcy Wong
d2add9d061 feat(android): Start adding RTL to layouts 2020-03-12 13:53:57 +07:00
Darcy Wong
69bbc73971 feat(android): Additional Sentry integration
Revert intentional crash from #2778

Now that the call stack in Sentry is tested on Release build
http://sentry.keyman.com/organizations/keyman/issues/61/?project=7

The temporary menu to generate the intentional crash can be removed.

Also disable monitoring Application Not Responding (ANR)
2020-03-11 14:00:27 +07:00
Darcy Wong
70b60bb852 feat(android): more cleanup and update FV app 2020-03-05 16:55:23 +07:00
Darcy Wong
594306032c chore(android): Cleanup commented code 2020-03-05 16:23:38 +07:00
Darcy Wong
5a7b603698 feat(android): Cleanup unnecessary parts for symbols 2020-03-05 16:15:50 +07:00
Darcy Wong
36bee5838d Merge remote-tracking branch 'origin/master' into feat/android/sentry 2020-03-05 11:04:39 +07:00
Darcy Wong
863eb261c1 feat(android): Continue to try to include debug symbols 2020-03-05 11:03:53 +07:00
Darcy Wong
e49583e088 feat(android): Start adding Sentry SDK 2020-02-28 16:24:48 +07:00
Darcy Wong
8964f2d0f7 feat(android): Handle keyman protocol for downloading kmp 2020-02-26 13:05:57 +07:00
Darcy Wong
a36207ed79 Revert FileProvider to Keyman app
Starts to address #2039

Move FileProvider back to Keyman manifest and revert authority.

Added Toast notification if 3rd party app doesn't define FileProvider. (info pages fail to properly load)
2019-09-04 11:13:27 +07:00
Darcy Wong
45283aa861 Fix keyboard settings menu and model info menu
* Make the entries consistent
* Move FileProvider to KMEA to launch help files
2019-08-30 07:52:04 +07:00
Darcy Wong
ae9e7816a0 Create new settings menu
New "Settings" menu will have
* link to Keyboard Picker activity
* "show banner" toggle
* "Don't show 'Get Started' on startup" toggle
2019-04-30 10:02:22 +07:00
Darcy Wong
ae68c483a7 Update dependencies
* Update compile/target SDK version from 27 to 28
*  Migrate appcompat namespace (See https://developer.android.com/jetpack/androidx/migrate)
2019-03-06 16:20:26 +07:00
Darcy Wong
69de652956 Add hooks to vibrate when KMW sends BEEP 2018-10-01 16:13:12 +07:00
Darcy Wong
544a58c151 Add Material Design 2018-09-19 13:46:03 +07:00
Darcy Wong
ff4066e374 Add splash screen
This addresses the Android platform of #1069

* Show product logos on app start
* Then show text (version and copyright dates)
2018-08-30 15:07:59 +07:00
Darcy Wong
bb72f4406c Remove ad-hoc distribution of keyboards via keyman:// protocol
Addresses Android platform for #538
2018-08-16 22:29:14 -05:00
Darcy Wong
a2ed5a49fa Add round launcher icons
From https://blog.xamarin.com/round-launcher-icons-in-android-7-1/
"Circular launcher icons have become standard since the introduction of Android Nougat 7.1"

This is a cosmetic change adding round launcher icons for the Keyman app.
2018-07-18 11:01:10 -05:00
darcywong00
8f8e95d479 Improve intent-filter for file scheme
Fixes #902

Update the intent-filter for file scheme (based on BloomReader's [AndroidManifest.xml](https://github.com/BloomBooks/BloomReader/blob/master/app/src/main/AndroidManifest.xml))
2018-05-26 21:15:05 +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
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
9bc7b43493 Handle kmp files passed from Android DownloadManager
Intents from the DownloadManager use paths like `/document/number/` so additional code needed to determine the kmp filename.

protocols also separated in switch statement for maintainability.
2018-01-28 23:04:14 +07:00
darcywong00
e4c88ed09b Try to refine intent filters for file:// and content:// 2018-01-28 23:01:40 +07:00
darcywong00
35c43da0f3 Associate kmp with keyman app
Add intent-filter and storage permissions so Keyman app will process keyman://, http://, https:// protocols, along with local KMP file. Also add external storage permission
2018-01-24 06:12:03 +07:00
darcywong00
079376d9a6 Consolidate PackageActivity cleanup
Also removed unncessary storage permission
2018-01-23 09:13:08 +07:00