I'm using Android 16 as well.
With your suggestion, I can see the polling method change between: LTE, NR, IWLAN, and Unknown (if no radio is on).
The "when changed" method doesn't follow the same behavior. It changes between LTE, NR and Unknown. The IWLAN state is never used, no matter what I try.
BTW, I didn't see way to easily determine the type from the number, but this is what I managed to decode:
* 1 Unknown
* 8192 LTE
* 262144 IWLAN
* 1048576 NR
Thanks