mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
fix(android): use `WebViewAssetLoader` for loading assets on Android (address regression in 19.0.242) This PR migrates the Android WebView from loading local files via file:// URLs to using `WebViewAssetLoader`, which serves internal storage files through a magic HTTPS domain (https://appassets.androidplatform.net). This fixes the blank keyboard problem reported in #16096 for Android. Core pattern of the change: ``` // Before: "file://" + context.getDir("data", ...) + "/" + filename // After: "https://appassets.androidplatform.net" + "/data/" + filename ``` The `WebViewAssetLoader` in `KMKeyboardWebViewClient` intercepts requests to this domain and serves files from internal storage. Since the domain is a constant, `Context` is no longer needed to construct URLs, simplifying several method signatures. Also this PR makes `KMKeyboard.getKeyboardRoot()` private, and renames public `Keyboard.getKeyboardPath()` to private `Keyboard.getKeyboardUrl()`. Part-of: #16096 Replaces: #16132 |
||
|---|---|---|
| .github | ||
| android | ||
| common | ||
| core | ||
| developer | ||
| docs | ||
| ios | ||
| linux | ||
| mac | ||
| oem/firstvoices | ||
| resources | ||
| web | ||
| windows | ||
| .clang-format | ||
| .editorconfig | ||
| .eslintrc.cjs | ||
| .flake8 | ||
| .gitattributes | ||
| .gitignore | ||
| .nycrc.json | ||
| .shellcheckrc | ||
| build.sh | ||
| CODE_OF_CONDUCT.md | ||
| configure-repo.sh | ||
| CONTRIBUTING.md | ||
| crowdin.yml | ||
| HISTORY.md | ||
| LICENSE.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| TIER.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| VERSION.md | ||
Keyman makes it possible for you to type in any language on Windows, macOS, Linux, iPhone, iPad, Android tablets and phones, and even instantly in your web browser. Create keyboard layouts with Keyman Developer and share them with the community in the keyboards repository. The Keyman Community have so far contributed well over 1,000 keyboard layouts for over 2,500 languages!
License
Copyright (c) SIL Global.
Keyman is an open source project distributed under the MIT license.
