7216a99fc3
- 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
75 lines
2.9 KiB
XML
75 lines
2.9 KiB
XML
<?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 (2–3 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>
|