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

Support Android 15 #362

Open
mrjones-plip opened this issue May 21, 2024 · 2 comments · May be fixed by #364
Open

Support Android 15 #362

mrjones-plip opened this issue May 21, 2024 · 2 comments · May be fixed by #364
Assignees
Labels
Type: Feature Add something new

Comments

@mrjones-plip
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
Android 15 is schedule to be released in the next 2 or 3 months.

Describe the solution you'd like
We should ensure CHT Android 15, doesn't have an regressions, doesn't need any new features in CHT Core etc.

Describe alternatives you've considered
Hope that Android 14 work is sufficient or wait until a problem is found in the field.

Additional context
NA

@mrjones-plip mrjones-plip added the Type: Feature Add something new label May 21, 2024
@m5r m5r self-assigned this May 23, 2024
@m5r m5r linked a pull request May 23, 2024 that will close this issue
@m5r
Copy link
Member

m5r commented Jun 11, 2024

Progress so far: most behavior changes mentioned in the Android 15 changelog are covered by the code in the PR or don't affect cht-android. The last remaining behavior change affecting us is the edge-to-edge enforcement (see screenshots in the PR description).

Google recommends handling overlaps using insets with ViewCompat.setOnApplyWindowInsetsListener but following their example doesn't scale with the app as the handler in charge of repositioning stuff on the screen doesn't get called when swapping the displayed content with setContentView so the elements are back to overlapping with the status and navigation bars. On top of this, it adds a lot of boilerplate code in each of our 12 activity classes that we have.

I've found the view property android:fitsSystemWindows="true" to have the same effect as the code implemented before which would be the preferred solution as all the layout stuff is handled by Android itself. But it suffers the same issue as the implemented code... I did run into some suggested solutions but I could not make it work so far.

It doesn't seem to affect us past the initial CHT instance selection screen, that's the only activity I found where the content gets swapped with setContentView where all other activities have only one view. It's mainly an issue for partners with multiple CHT instances in a single app (like MoH KE) and for our development/testing purposes.

Android 15 phones can install and run the app as is without any changes (but with the layout bug mentioned above).
And we will be able to publish the app to the play store without upgrading the target SDK until August 31, 2025 according to Google's schedule.

@mrjones-plip
Copy link
Collaborator Author

Thanks for all the research on this @m5r ! We can pause the effort on this ticket for now.

cc @derickl & @PhilipNgari - i think eCHIS KE is the only production deployment that is affected by this when selecting an county on first time app launch.

cc @garethbowen - to be sure you're aware of the research done on this ticket and the timeline of target SDK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature Add something new
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

2 participants