Commit graph

945 commits

Author SHA1 Message Date
Darcy Wong
b0079ad39f
Merge branch 'master' into fix/android/configure-output 2025-08-21 08:17:58 +07:00
Darcy Wong
fe8ba3b472 fix(android): Use constants for configure outputs 2025-08-21 08:13:05 +07:00
Darcy Wong
4275a3c9c6
Merge pull request #14559 from keymanapp/chore/android/sentry-8
fix(android): Update sentry-android dependency to 8.19.1 for 16 KB page alignment
2025-08-21 07:46:07 +07:00
Marc Durdin
2b0db1eb51
Merge pull request #14490 from keymanapp/maint/android/14284-publish-sentry-symbols-on-release-buildlevel
maint(android): publish symbols to Sentry on release buildLevel 🦌
2025-08-20 20:20:25 +07:00
Darcy Wong
77b56c5018 maint(android): Cleanup builder_describe_outputs for configure action 2025-08-20 12:49:42 +07:00
Darcy Wong
0a83faac7d
Merge pull request #14539 from keymanapp/fix/android/36-hidden
fix(android): Add "Show On-screen keyboard" preference to display OSK when physical keyboard is connected 👁️
2025-08-20 09:34:16 +07:00
Darcy Wong
9ddcf0aff8
Merge pull request #14538 from keymanapp/fix/android/onEvaluateInputViewShown
fix(android): Show system OSK when physical keyboard connected on Android API 36 👁️
2025-08-20 09:33:41 +07:00
Darcy Wong
ca3c19441b fix(android): Update sentry-android to 8.19.1 2025-08-20 07:29:31 +07:00
Marc Durdin
81c807c257 chore(common): Merge branch 'master' into maint/common/14453-move-ci-scripts 2025-08-19 10:46:11 +02:00
Darcy Wong
eaec803701
Merge branch 'master' into fix/android/edge-to-edge-activities 2025-08-18 14:14:54 +07:00
Darcy Wong
84c6d72e8f chore(android): Remove old import 2025-08-18 14:14:09 +07:00
Darcy Wong
7e5e117901
Merge pull request #14396 from keymanapp/fix/android/constraint-layout
fix(android): Convert Keyman app layout to use ConstraintLayout for handling edge-to-edge 🪟
2025-08-18 14:11:51 +07:00
Darcy Wong
354b02291e fix(android): Add UI preference for showing OSK with physical keyboard 2025-08-18 11:04:42 +07:00
Darcy Wong
0a565584ea fix(android): Show system keyboard when physical keyboard is connected 2025-08-18 10:15:20 +07:00
Darcy Wong
90a0fae378 fix(android): Show OSK when physical keyboard connected 2025-08-15 11:36:13 +07:00
Darcy Wong
5e62747cf1
Merge branch 'master' into main/android/taregt-api-35 2025-08-12 15:36:25 +07:00
Marc Durdin
a81138c62b
Merge pull request #14449 from keymanapp/maint/common/14065-consolidate-builder-scripts
maint(common): consolidate builder scripts 🐸
2025-08-12 10:41:09 +07:00
Marc Durdin
f95b26ac1f
Merge pull request #14446 from keymanapp/maint/common/14275-rename-and-cleanup-shellHelperFunctions.sh
maint(common): rename shellHelperFunctions.sh to utils.inc.sh 🐸
2025-08-12 10:40:59 +07:00
Darcy Wong
3ceccfc054 chore(android): Specify Java language version 21
Resolves Gradle deprecation and language version warnings
```gradle
Java compiler version 21 has deprecated support for compiling with source/target version 8.
```

The `java.toolchain.languageVersion` syntax is a superset that covers the previous syntax `android.compileOptions`
2025-08-11 11:44:51 +07:00
Marc Durdin
1bb111edea maint(android): publish symbols to Sentry on release buildLevel
Refactor the publish action for Android to ensure that symbols are
published to Sentry for any 'release' buildLevel -- test releases and
alpha/beta/stable releases.

Splits the publish action into `publish-symbols` and
`publish-play-store` so that they can be run separately as needed, as
symbols can be published for test builds, but play store is only touched
for actual releases.

Note: examining the build logs and Sentry server state, it looks like
the publish to Sentry has not been happening for quite a while, so this
commit refactors the Sentry publishing code and establishes the
fv-keyboards publish target also.

Fixes: #14284
Build-bot: release
Test-bot: skip
2025-08-11 05:10:28 +02:00
Darcy Wong
9f92f44e8b fix(android): Update other activities for edge to edge 2025-08-06 11:30:13 +07:00
Marc Durdin
f3fb3ac87b maint(common): move build-utils-ci.inc.sh to ci/ci-publish.inc.sh
Removes a number of unused functions from the file, renames remaining
functions to match our builder script prefix patterns, removes unused
imports from various build scripts (e.g. Android).

Fixes: #14453
2025-08-05 12:54:56 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Darcy Wong
f6120747ad chore(android): Remove unused constraintlayout-compose dependency 2025-07-31 07:09:35 +07:00
Darcy Wong
85986dd6d8 fix(android): Convert to ConstraintLayout and apply insets
Using Android Studio's tool to convert the top level RelativeLayout to ConstraintLayout. This way, the edge-to-edge doesn't cover up the top and bottom portions of the app.

Also apply insets so app and keyboard fit in usable areas.
2025-07-30 14:12:03 +07:00
Darcy Wong
02fc68790b fix(android): Fix targetSdkVersion for the app 2025-07-24 14:39:12 +07:00
Darcy Wong
ed7c0caf9d maint(android): Update Android Target API to 35 2025-07-24 08:04:50 +07:00
Darcy Wong
6148495e27 refactor(android): Update minimum required Chrome version to 95.0
* Change from 57.0 to 95.0 as the minimum target version of Chrome
* Refactor Chrome version check to use constants, and updated applicable strings
2025-07-23 08:47:57 +07:00
Darcy Wong
0f03bbf929 fix(android): Check network access before trying to download keyboard
Display a Toast notification if network is unavailable before downloading from the keyboard page

Fixes: #13977
Fixes: KEYMAN-ANDROID-420
2025-05-19 11:46:21 +07:00
Eberhard Beilharz
b4cd5a24e4
Merge pull request #13898 from keymanapp/maint/android/13896_TIER
PR #13854 missed (at least) one place when renaming the variables from `TIER` to `KEYMAN_TIER`. This change fixes the release builds for Android.
    
Follow-up-of: #13854
Fixes: #13896
2025-05-13 09:25:02 +02:00
Eberhard Beilharz
a3b63008ef
maint(android): use new variable name KEYMAN_TIER
PR #13854 missed (at least) one place when renaming the variables from
`TIER` to `KEYMAN_TIER`. This change fixes the release builds for
Android.

Follow-up-of: #13854
Fixes: #13896
Test-bot: skip
2025-05-13 08:56:02 +02:00
Darcy Wong
eedfcf2f0e chore: Merge remote-tracking branch 'origin/master' 2025-05-13 07:05:25 +07:00
Darcy Wong
5f0cd83d05 maint(android): Update Gradle to use Java 21 2025-05-08 12:57:17 +07:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Darcy Wong
73dcf20085
Merge pull request #13772 from keymanapp/chore/android/builder-is-ci-build
chore(android): Use `builder_is_ci_build` rather than `--ci` flag
2025-05-01 07:16:11 +07:00
Darcy Wong
86740c9a91 fix(android): Show Dialog instead of Toast if package missing languages
If a keyboard package is missing associated languages, show an error dialog instead of Toast notification., This way we don't clutter Sentry with noise.

Fixes: #13782

Fixes: KEYMAN-ANDROID-251
2025-04-29 11:11:10 +07:00
Darcy Wong
b9f1f51a33 chore(android): Use builder_is_ci_build rather than --ci flag 2025-04-28 10:42:52 +07:00
Darcy Wong
23fb318549 fix(android): Fix system keyboard banner on reload
Follows the in-app keyboard pattern of refreshing banner theme when the keyboard is shown

Fixes: #13693
2025-04-11 10:57:36 +07:00
Darcy Wong
30dc85f484 chore(common): Update crowdin strings for Spanish Latin America 2025-04-09 07:44:32 +07:00
Darcy Wong
3abe596361 fix(android): Add back button to "Adjust Keyboard Height "menu
Add back button and callback handler
2025-04-02 10:19:29 +07:00
Marc Durdin
690d62ca3f fix(android): Move responsibility for setting keyboard height preference
Cherrypick of #13578 to beta

Moves responsibility for setting keyboard height preference into `applyKeyboardHeight()`
2025-04-01 14:10:55 +07:00
Darcy Wong
75bf69bfbf fix(android): Cleanup comments
Cleanup references to mayPredictOverride in comments
2025-03-24 10:27:50 +07:00
Darcy Wong
9d8f71a718 refactor(android): Rename mayPredictOverrides APIs
Per review comments, rename these API's for Keyman 18.0:

inAppMayPredictOverride --> inAppPredictionsSuspendedForSensitiveInput
systemMayPredictOverride --> systemPredictionsSuspendedForSensitiveInput

getMayPredictOverride() --> getPredictionsSuspended()
setMayPredictOverride() --> setPredictionsSuspended()
2025-03-24 08:19:35 +07:00
Darcy Wong
1da411727a refactor(android): split mayPredictOverride for inapp and system kbd
Refactor mayPredictOverride so the banner toggle is handled independently for `KeyboardType.KEYBOARD_TYPE_INAPP` and `KeyboardType.KEYBOARD_TYPE_SYSTEM` keyboards.

Pre-existing override API calls are now for `KeyboardType.KEYBOARD_TYPE_SYSTEM`
2025-03-20 11:39:02 +07:00
Darcy Wong
9afcf8f2b0 fix(android): Restore banner after lock screen
Fix banner transitions on lock screen and resuming
2025-03-20 07:43:03 +07:00
Darcy Wong
00552cb06c chore(android): update crowdin strings for Spanish (Latin America) 2025-03-14 09:12:49 +07:00
Darcy Wong
d9a3c01c4f fix(android): Cache inputType to determine external keyboard handling 2025-03-11 09:39:03 +07:00
Darcy Wong
1380597be2
Merge branch 'beta' into chore/common/crowdin-vi 2025-03-05 19:45:39 +07:00
Darcy Wong
c65897561f fix(android): Fix Toast message per review comment 2025-03-04 17:10:39 +07:00