Skip to content
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/engine): Add RECEIVER_EXPORTED flag for broadcast receiver #10463

Merged
merged 1 commit into from
Jan 22, 2024

Conversation

darcywong00
Copy link
Contributor

Fixes Sentry crash and follows #10393 which updates the Android targetSDKVersion to 34.

Per Android Developer guide about apps targeting Android 14
https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported

Apps and services that target Android 14 and use context-registered receivers are required to specify a flag to indicate whether or not the receiver should be exported to all other apps on the device: either RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED

User Testing

Setup - Install the PR build of Keyman for Android on Android 14.0 (SDK 34) device / emulator

  • TEST_KEYMAN - Verifies Keyman startup
  1. Launch Keyman for Android and verify app doesn't crash
  2. Dismiss the "Get Started" menu
  3. From Keyman settings, install a Keyman keyboard from keyman.com
  4. Verify Keyman keyboard installs (Disregard OSK rotation issues as those are tracked on a separate PR)

@keymanapp-test-bot keymanapp-test-bot bot added has-user-test user-test-required User tests have not been completed labels Jan 22, 2024
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Jan 22, 2024

User Test Results

Test specification and instructions

  • TEST_KEYMAN (PASSED): Tested with the attached PR build (Keyman 17.0.249-alpha-test-10463) in the Android 12 / API 31 emulator and here is my observation : 1. Opened the Keyman app without getting any crash. 2. Dismissed the "Get Started" menu. 2. Installed 'khmer_angkor' keyboard from Settings / Install a Keyman Keyboard from keyman.com. 3. Verified that the keyboard installed successfully and appeared on the Keyman home page. 4. Verified with Android 13 / Samsung Galaxy A23 mobile device and it is working as expected. (notes)

Test Artifacts

@bharanidharanj
Copy link

Test Results

  • TEST_KEYMAN (PASSED): Tested with the attached PR build (Keyman 17.0.249-alpha-test-10463) in the Android 12 / API 31 emulator and here is my observation : 1. Opened the Keyman app without getting any crash. 2. Dismissed the "Get Started" menu. 2. Installed 'khmer_angkor' keyboard from Settings / Install a Keyman Keyboard from keyman.com. 3. Verified that the keyboard installed successfully and appeared on the Keyman home page. 4. Verified with Android 13 / Samsung Galaxy A23 mobile device and it is working as expected.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Jan 22, 2024
@darcywong00 darcywong00 merged commit 18339ef into master Jan 22, 2024
6 checks passed
@darcywong00 darcywong00 deleted the fix/android/api-34-register-receiver branch January 22, 2024 22:32
@keyman-server
Copy link
Collaborator

Changes in this pull request will be available for download in Keyman version 17.0.250-alpha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants