Modify carrier table in Telephony DB.
- add carrier_enabled
: 1 => enabled APN, 0 => disabled APN
- add bearer
: Radio Access Technology info.
This should be spread to other technologies, but currently only used for LTE(14) and EHRPD(13)
- remove 2 unnecessary default setting code.
bug:4991683
Change-Id: Iad7b801a88b0651e2f2f74ab18b4565b0e927370
diff --git a/src/com/android/providers/telephony/TelephonyProvider.java b/src/com/android/providers/telephony/TelephonyProvider.java
old mode 100644
new mode 100755
index 5f136e9..f498692
--- a/src/com/android/providers/telephony/TelephonyProvider.java
+++ b/src/com/android/providers/telephony/TelephonyProvider.java
@@ -54,7 +54,7 @@
private static final String DATABASE_NAME = "telephony.db";
private static final boolean DBG = true;
- private static final int DATABASE_VERSION = 6 << 16;
+ private static final int DATABASE_VERSION = 7 << 16;
private static final int URL_TELEPHONY = 1;
private static final int URL_CURRENT = 2;
private static final int URL_ID = 3;
@@ -141,7 +141,9 @@
"type TEXT," +
"current INTEGER," +
"protocol TEXT," +
- "roaming_protocol TEXT);");
+ "roaming_protocol TEXT," +
+ "carrier_enabled BOOLEAN," +
+ "bearer INTEGER);");
initDatabase(db);
}
@@ -218,6 +220,14 @@
" ADD COLUMN roaming_protocol TEXT DEFAULT IP;");
oldVersion = 6 << 16 | 6;
}
+ if (oldVersion < (7 << 16 | 6)) {
+ // Add protcol fields to the APN. The XML file does not change.
+ db.execSQL("ALTER TABLE " + CARRIERS_TABLE +
+ " ADD COLUMN carrier_enabled BOOLEAN DEFAULT 1;");
+ db.execSQL("ALTER TABLE " + CARRIERS_TABLE +
+ " ADD COLUMN bearer INTEGER DEFAULT 0;");
+ oldVersion = 7 << 16 | 6;
+ }
}
/**
@@ -284,6 +294,15 @@
map.put(Telephony.Carriers.ROAMING_PROTOCOL, roamingProtocol);
}
+ String carrierEnabled = parser.getAttributeValue(null, "carrier_enabled");
+ if (carrierEnabled != null) {
+ map.put(Telephony.Carriers.CARRIER_ENABLED, Boolean.parseBoolean(carrierEnabled));
+ }
+
+ String bearer = parser.getAttributeValue(null, "bearer");
+ if (bearer != null) {
+ map.put(Telephony.Carriers.BEARER, Integer.parseInt(bearer));
+ }
return map;
}
@@ -325,6 +344,12 @@
if (row.containsKey(Telephony.Carriers.ROAMING_PROTOCOL) == false) {
row.put(Telephony.Carriers.ROAMING_PROTOCOL, "IP");
}
+ if (row.containsKey(Telephony.Carriers.CARRIER_ENABLED) == false) {
+ row.put(Telephony.Carriers.CARRIER_ENABLED, true);
+ }
+ if (row.containsKey(Telephony.Carriers.BEARER) == false) {
+ row.put(Telephony.Carriers.BEARER, 0);
+ }
db.insert(CARRIERS_TABLE, null, row);
}
}
@@ -512,7 +537,12 @@
if (!values.containsKey(Telephony.Carriers.ROAMING_PROTOCOL)) {
values.put(Telephony.Carriers.ROAMING_PROTOCOL, "IP");
}
-
+ if (!values.containsKey(Telephony.Carriers.CARRIER_ENABLED)) {
+ values.put(Telephony.Carriers.CARRIER_ENABLED, true);
+ }
+ if (!values.containsKey(Telephony.Carriers.BEARER)) {
+ values.put(Telephony.Carriers.BEARER, 0);
+ }
long rowID = db.insert(CARRIERS_TABLE, null, values);
if (rowID > 0)