Airship does not support Android 15 (Edge-To-Edge)
Screenshot
Preliminary Info
What Airship dependencies are you using?
com.urbanairship.android:urbanairship-message-center:18.3.0
What are the versions of any relevant development tools you are using?
Android studio and real device with Android 15
Report
What unexpected behavior are you seeing?
Message center activity does not support edge to edge and messages list overflows on status bar. Shared screenshot
What is the expected behavior?
Should support edge-to-edge android or push down that messages list below navbar
What are the steps to reproduce the unexpected behavior?
Support Android 35
android { compileSdk 35 ... defaultConfig { targetSdk 35 } }
Simply add MessageCenterActivity into your app and run it with Pixel 6 pro with Android 15
Do you have logging for the issue?
No because it is UI issue with newest OS and SDK
Hi @bmyagmarjav, we're aware of these changes and are currently working on supporting them. We'll have a new release out soon with support for handling edge-to-edge on Android 15 devices.
I'll leave this open so that we can circle back and let you know when we've released a supported version.
Any update?
@bmyagmarjav Sorry for the delayed response, we're mostly there, but the changes to make Message Center support edge-to-edge were a bit more involved than we had originally hoped. Due to the scope of the changes, we're planning on releasing the updated Message Center UI as part of SDK 19, along with edge-to-edge support for Preference Center.
In the meantime, there are a couple of options to make Message Center in the current SDK version work properly with edge-to-edge enforcement in Android 15:
-
Embed a
MessageCenterFragment()in your own Activity, where you can enable edge-to-edge display and handle insets as needed.- Airship Docs: Embedding the Message Center
- Sample App:
InboxFragment.javaandfragment_inbox.xml
-
Opt-out Airship Activities from edge-to-edge enforcement temporarily
- For Message Center (in SDK v18.4.0 and newer), this can be done by adding the following to your app
styles.xml(or as an override invalues-v35/styles.xml):<style name="UrbanAirship.MessageCenter.Activity" parent="Theme.MaterialComponents.DayNight"> <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> </style> - For Message Center in SDK v18.3.x and below, include the style override above, and add the following to your
AndroidManifest.xml, inside the<application>block:<activity android:name="com.urbanairship.messagecenter.MessageCenterActivity" android:theme="@style/UrbanAirship.MessageCenter.Activity" tools:replace="android:theme" /> - Preference Center is similar:
<style name="UrbanAirship.PreferenceCenter.Activity" parent="Theme.MaterialComponents.DayNight"> <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> </style> - InApp Automation (for full-screen and modal Scenes):
<!-- Note: the parent style for ModalActivity should not be modified! --> <style name="UrbanAirship.Layout.ModalActivity" parent="UrbanAirship.Layout.ModalActivityBase"> <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> </style>
- For Message Center (in SDK v18.4.0 and newer), this can be done by adding the following to your app
We're planning to release a beta build of SDK 19 in the coming weeks, to give users a chance to try out the new changes and give feedback. The official release will follow, after we've made any adjustments based on feedback and completed QA on the new release.
I'm going to close this out for now, but please feel free to reopen if you have any questions or run into any issues with either of the suggestions above.