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)