Android has a system app, CarrierConfig, which sets certain network parameters based on the carrier which supplied the currently inserted SIM card. Among others, the CarrierConfig app can tell Android that certain networks (identified by the MCC/MNC pair) should not be considered roaming even though the MCC/MNC differs from that on the SIM. (See this answer to a previous question of mine for details on its inner workings.)
I am wondering if this mechanism can be used for EU roaming. As of last year, EU carriers can no longer charge roaming fees for use on other EU networks, as long as the majority of usage is in the “home state” of the SIM card, or the subscriber can demonstrate some ties with that state (e.g. residence, work, study or family).
The idea would then be: for every EU carrier, insert a list of all EU MCCs into its list of non-roaming networks (omitting the MNC makes it a catch-all for every network with that MCC).
As I understand the mechanism, the effect would be that, with a SIM from an EU carrier, the phone would then assume to be on its home network. Roaming restrictions (such as disabling mobile data) would then only apply outside the EU. For example, if I disabled data roaming, my phone would still have data connectivity in Austria, France and Italy but not in Switzerland.
I suggested this to the LineageOS folks the other day and was told this was not going to happen, as in their opinion EU roaming is still roaming and such a rule would break it. Unfortunately they did not elaborate on that, so I don’t know if there’s some undesirable side effect I’m missing.
The only side effect of the “EU-to-EU = not roaming” ruleset that I can see is that the user can no longer make settings à la “use data services on network 232-07 only, but not on other networks even in the EU”. Whether this constitutes a relevant use case is debatable.
Is there anything else I have missed (i.e. functionality this change will break)?