Files
oxmc 7216a99fc3 Add telephony settings, APN provisioning support, and LineageOS APN submodule integration
- settings.xml: add conditional telephony block (mobile data, VoLTE, roaming, network mode)
- res/xml/apns.xml: simple single-file APN fallback with full attribute documentation
- assets/apns/global.xml: multi-file APN template compatible with LineageOS/android_vendor_apn
- build.gradle: add assets srcDir, Gradle copy tasks to pull only *.xml from APN submodules
2026-06-08 04:48:41 -07:00

75 lines
2.9 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!--
Global / carrier-agnostic APNs.
Format is compatible with LineageOS / AOSP apns-conf.xml.
ConfigProvisioner walks all .xml files under assets/apns/ recursively,
so you can organise files however you like:
assets/apns/global.xml ← this file
assets/apns/north_america.xml
assets/apns/europe.xml
assets/apns/asia_pacific.xml
assets/apns/north_america/us_tmobile.xml
assets/apns/north_america/ca_rogers.xml
Format is compatible with LineageOS/android_vendor_apn and AOSP apns-conf.xml.
To include LineageOS APN data, add it as a submodule at the repo ROOT
(not inside assets/) — build.gradle copies only the *.xml files into the APK,
leaving scripts, schemas, and license files behind:
git submodule add https://github.com/LineageOS/android_vendor_apn lineage_apn
Additional submodule sources can be added in the apnSubmodules map in build.gradle.
Attributes:
carrier / name Display name ("carrier" = AOSP/pgaskin, "name" = custom — both ok)
mcc Mobile country code (3 digits)
mnc Mobile network code (23 digits, leading zero matters)
apn APN string
type Comma-separated: default, supl, mms, fota, ims, cbs, ia, emergency
protocol IP | IPV6 | IPV4V6
roaming_protocol same as protocol
server WAP gateway server (rarely used)
proxy HTTP proxy host
port HTTP proxy port
mmsc MMS centre URL (required for type=mms)
mmsproxy MMS proxy host
mmsport MMS proxy port
user APN username
password APN password
authtype -1=none, 0=PAP, 1=CHAP, 2=PAP or CHAP
bearer_bitmask Allowed RATs bitmask (0 = all)
profile_id Carrier profile ID (integer, rarely needed)
mtu MTU override in bytes (0 = default)
modem_cognitive true | false — let modem manage APN
max_conns Max simultaneous connections
wait_time Retry wait time (ms)
max_conns_time Max connection time (ms)
carrier_enabled true | false (or 1 | 0)
mvno_type spn | imsi | gid | iccid (for MVNO entries)
mvno_match_data Match string for the chosen mvno_type
Deduplication key: numeric + apn + mvno_type + mvno_match_data.
Two entries sharing MCC/MNC/APN but different MVNO identity are kept separately.
-->
<apns version="8">
<!-- Add real APN entries here. The example below is commented out. -->
<!--
<apn carrier="Example Internet"
mcc="000"
mnc="00"
apn="internet"
type="default,supl"
protocol="IPV4V6"
roaming_protocol="IPV4V6"
bearer_bitmask="0"
carrier_enabled="true" />
-->
</apns>