My S9 updated to 9.0 so I investigated.
Bad news.
The unread badge for Aqua Mail (and a few other apps, I presume) is deliberately blocked by Samsung.
Details:
For a long time (from 4.1 or so) Samsung had a way for apps to set the badge directly. A bunch of apps (including Aqua Mail) used that.
This was completely undocumented and unofficial but it worked.
8.0:
This "direct" way is completely disabled, the new way is "automatic based on app's notifications".
9.0:
The "new automatic" is disabled for apps that used "the old, undocumented" way before. It's baked into the phone's software.
I can rename Aqua's application package (org.kman.AquaMail) without making code changes and the "automatic" badge added in 8.0 starts working.
Now in 9.0 the "direct" way works again. But it works differently from how it used to and what's worse can get "stuck".
---
At this point I'm not sure what to do.
This is 100% a deliberate change by Samsung and a very silly one - if an app already "accepted the new rules" in 8.0 - either keep it working or bring back the old way *exactly how it was before 8.0*.
Needless to say, they never tried to contact us about it.
I have tried using the old method (pre-8.0) on 9.0 - and it sort of worked, but the badge would get stuck and show wrong number again.
So if we released a version with "old method" enabled on 9.0 - we'd get a lot of complaints and at that point it would be hard to fix the badge that's "already there" on users' phones, already stuck and showing wrong number.
I'm more inclined to just do nothing, there will be no badge on 9.0 - maybe until Samsung changes something again.
---
Now apps that never used the 4.* - pre 8.0 method to set the badge (which is most apps, including Gmail and K9 Mail) - just continue to work, the badge is "automatic" based on notifications.