medic / cht-android

A native Android container for Community Health Toolkit (CHT) applications
GNU Affero General Public License v3.0
25 stars 49 forks source link

feat(#332): support Android 14 #349

Closed jkuester closed 6 months ago

jkuester commented 6 months ago

Closes https://github.com/medic/cht-android/issues/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 the ContextCompat.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.

https://github.com/medic/cht-docs/pull/1308

jkuester commented 6 months ago

I have manually validating app functionality across different Android versions following this test plan:

Clean installation