> After testing, I had found the following different parts between yours and mime which make results do not pass tests here:

Are the test failing with the function I proposed?

> Can user change APN name?? In your version, the apn name looks like not changeable.

The APN settings coming from the apn.json database cannot be changed. If the user tries to modify the APN for data calls (any of the fields) the Setting App forces the user to use a custom APN. That is somehow a certification requirement.

> The way to determine two apn need to be merged. From the view of Ken, he told me two APN with the same name should be
> merged. In your version, it seems there is no way to merge.

What do you mean with 'tow APN with the same name'?, are you referring to the `carrier` setting of an APN? Let's imagine you are referring to the `apn` setting of an APN. In that case two APNs with the same value for the `apn` setting shouldn't be always merged. For example it could be possible to have a custom APN for data calls and the one coming from the apn.json database for `supl` with the same value for the `apn` setting but with other different values for the rest of the settings.

> Can we have two apn setting with the same apn name?? Ken told me that we can't.

Yes, you can. Keep in mind that the user has the possibility to use a custom APN with the same name that one coming from the apn.json database.