This change updates the Android Target API to 36 to satisfy the upcoming
annual Play Store Aug 31 requirement. It updates Keyman for Android to
use API level 36 by changing the compileSdk and targetSdkVersion
properties to 36.
Also update `compileSdkVersion` and some reformatting in `README.md`.
Changes made by AI (Gemini 3 Flash Preview).
Fixes: #16279
Build-bot: release:android
* Specify clearer filenames for Android samples and test KeyboardHarness
* Cleanup android/*/build.sh to match current patterns
* Remove obsolete jcenter dependency
* Export BUILDER_CONFIGURATION in builder.inc.sh
Fixes: #16137Fixes: #16181
Test-bot: skip
Build-bot: skip release:android
This change fixes two problems that cause a script error in Sample1 app:
- add internet access permissions so that the Sentry server can be reached
- explicitly set the default keyboard since sil_euro_latin keyboard is not
included in the sample apps. This works around #16215.
Fixes: #16180
Build-bot: release:android
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`
While Android Studio Gradle plugin should automatically use a default version of build tools, we can specify it:
https://developer.android.com/studio/releases/build-tools
Attempting to resolve lint exceptions on the build agent.
Fixes#4019.
Rolls back #3009 and fixes base issue in alternative manner.
The core issue here was twofold:
1. We needed to set the window size to the whole screen in order for the
popups to visible and touchable. We implement this in
`onConfigureWindow`.
2. Once our window size is the whole screen, we need to tell the apps
which part of the window is our keyboard UI, in `onComputeInsets`.
This is the only part of the window which impacts the layout of the
underlying app. We had not set the `visibleTopInsets` property and
this caused the WeChat problems.
Finally, in order for this to work, we roll back the original fix
in #3009 as that one breaks the full-screen layout requirement.
Tested with a wide range of apps on Android 10, including WeChat and
Telegram. If @kienwt, @ericjding have capacity, would love to know if
this fix works for them also.
Note that this fix requires changes to consumers of Keyman Engine, so
sample and FV Keyboards updated accordingly.
Fixes#2989
This updates the minimum supported Android SDK to 21 (Lollipop). This applies to KMEA, KMAPro, Sample Apps, KeyboardHarness, and FV Android app.
Tests/keyCode doesn't use KMEA so no change there.
#2640 fixed the FirstVoices OEM app from crashing on Android 5.0 devices.
This applies the same fix (updating to `androidx.appcompat:appcompat:1.2.0-alpha02`) for all the other Android apps.
* Also fix up history.md entries