-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
feat(#332): support Android 14 #349
Conversation
# Conflicts: # .github/workflows/build.yml # build.gradle
implementation 'androidx.fragment:fragment:1.4.1' | ||
compileOnly 'com.github.spotbugs:spotbugs-annotations:4.5.3' | ||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' | ||
implementation platform('org.jetbrains.kotlin:kotlin-bom:1.9.23') |
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.
I was getting some conflicts between transitive dependencies in the org.jetbrains.kotlin
org. This bom does not actually pull in additional dependencies, but just helps Gradle to resolve the conflicts: https://github.com/JetBrains/kotlin-wrappers?tab=readme-ov-file#using-in-your-projects
coverage.gradle
Outdated
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.
Some of the dependency updates changed the directory structure a bit for where resources were getting stuck. So I had to tweak things in here to be aligned properly.
src/main/java/org/medicmobile/webapp/mobile/ConnectionErrorActivity.java
Show resolved
Hide resolved
src/test/java/org/medicmobile/webapp/mobile/RequestLocationPermissionActivityTest.java
Show resolved
Hide resolved
I have manually validating app functionality across different Android versions following this test plan:
Clean installation
Upgrade from existing cht-android version
Location Permission
SMS Permission
Storage Permission
Connection Error Warning
|
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.
Also tested it on Android 5, working as usual 👍 ship it!
Closes #332
Adds support for Android 14 while also uplifting the dependencies/plugins to take advantage of new tooling/linting targeted at the new Android versions.
The changes around the
RECEIVER_NOT_EXPORTED
flags are really the only implementation code changes that were required for Android 14 compatibility. However, to be able to use theContextCompat.registerReceiver
method for backwards compatibility, I needed to start uplifting some dependencies.Instead to trying to do things piecemeal, I just bumped everything. The biggest lift was updating to the
8.x
of the Android Gradle Plugin, but this is super valuable since it gives support for linting things that are specific to the newer versions of Android.I have tried to call out inline all the motivations for the various changes I have made.
medic/cht-docs#1308