-
-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(android/app): Cleanup AndroidManifest handling of *.kmp #10624
Conversation
User Test ResultsTest specification and instructions
Test Artifacts |
<data | ||
android:mimeType="application/x-keyman-package" | ||
android:scheme="content" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add a application/zip mime type? Given .kmp will be sniffed as a zip file.
<data | |
android:mimeType="application/x-keyman-package" | |
android:scheme="content" /> | |
<data | |
android:mimeType="application/x-keyman-package" | |
android:scheme="content" /> | |
<data | |
android:mimeType="application/zip" | |
android:scheme="content" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm, I tried adding application/zip
but then we'll need additional code handling in the engine to expect .zip
files instead of strictly .kmp
files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Feature for another day then
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.kmp" /> | ||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.kmp" /> | ||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.kmp" /> | ||
<data android:pathPattern="/.*\\.kmp" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use android:pathSuffix=".kmp"
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From https://developer.android.com/guide/topics/manifest/data-element
pathSuffix has an API prereq
pathSuffix and pathAdvancePattern were introduced in API level 31.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "/" at the start shouldn't be needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, the slash is what the Play Store is flagging:
Add a "/" to the beginning of the android:path attribute in the tag. The attribute might also be android:pathPrefix or android:pathPattern.
😕
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ugh I see
Changes in this pull request will be available for download in Keyman version 17.0.261-alpha |
Fixes #10095
This PR cleans up the AndroidManifest.xml file for associating .kmp files with Keyman.
The Play Store was flagging an error:
Additional AndroidManifest.xml cleanup
curl -I https://downloads.keyman.com/keyboards/fv_all/12.6/fv_all.kmp
Things to address on separate PR's:
User Testing
Verifies that kmp files can be downloaded and installed with Keyman for Android
Setup - On an Android device/emulator, install the PR build of Keyman for Android. Note the limitations above. Do not use the following:
Samsung device
device/emulator of Android 13.0+ (SDK 33+)
TEST_KEYMAN_SEARCH - Verifies kmp files install from Keyman search