Update Susbcription database to store Ims related settings
Add corresponding columns in Subscription database, and notify
SubscriptionManager to migrate existing values from global
setting.
Bug: 66699661
Test: Manual
Change-Id: Ia773b99b866fe32e997c7730eb90aa141b7272ff
Merged-In: Ia773b99b866fe32e997c7730eb90aa141b7272ff
diff --git a/OWNERS b/OWNERS
index f63da0c..7aabde8 100644
--- a/OWNERS
+++ b/OWNERS
@@ -3,4 +3,5 @@
jminjie@google.com
rgreenwalt@google.com
tomtaylor@google.com
-jackyu@google.com
\ No newline at end of file
+jackyu@google.com
+refuhoo@google.com
\ No newline at end of file
diff --git a/src/com/android/providers/telephony/TelephonyProvider.java b/src/com/android/providers/telephony/TelephonyProvider.java
index 7f10ccc..9b893fe 100644
--- a/src/com/android/providers/telephony/TelephonyProvider.java
+++ b/src/com/android/providers/telephony/TelephonyProvider.java
@@ -103,6 +103,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.IApnSourceService;
+import com.android.internal.telephony.SubscriptionController;
import com.android.internal.util.XmlUtils;
import org.xmlpull.v1.XmlPullParser;
@@ -125,7 +126,7 @@
private static final boolean DBG = true;
private static final boolean VDBG = false; // STOPSHIP if true
- private static final int DATABASE_VERSION = 22 << 16;
+ private static final int DATABASE_VERSION = 23 << 16;
private static final int URL_UNKNOWN = 0;
private static final int URL_TELEPHONY = 1;
private static final int URL_CURRENT = 2;
@@ -324,7 +325,13 @@
+ SubscriptionManager.CB_ETWS_TEST_ALERT + " INTEGER DEFAULT 0,"
+ SubscriptionManager.CB_CHANNEL_50_ALERT + " INTEGER DEFAULT 1,"
+ SubscriptionManager.CB_CMAS_TEST_ALERT + " INTEGER DEFAULT 0,"
- + SubscriptionManager.CB_OPT_OUT_DIALOG + " INTEGER DEFAULT 1"
+ + SubscriptionManager.CB_OPT_OUT_DIALOG + " INTEGER DEFAULT 1,"
+ + SubscriptionManager.ENHANCED_4G_MODE_ENABLED + " INTEGER DEFAULT -1,"
+ + SubscriptionManager.VT_IMS_ENABLED + " INTEGER DEFAULT -1,"
+ + SubscriptionManager.WFC_IMS_ENABLED + " INTEGER DEFAULT -1,"
+ + SubscriptionManager.WFC_IMS_MODE + " INTEGER DEFAULT -1,"
+ + SubscriptionManager.WFC_IMS_ROAMING_MODE + " INTEGER DEFAULT -1,"
+ + SubscriptionManager.WFC_IMS_ROAMING_ENABLED + " INTEGER DEFAULT -1"
+ ");";
static {
@@ -954,6 +961,30 @@
}
if (oldVersion < (22 << 16 | 6)) {
try {
+ // Try to update the siminfo table. It might not be there.
+ db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN "
+ + SubscriptionManager.ENHANCED_4G_MODE_ENABLED
+ + " INTEGER DEFAULT -1;");
+ db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN "
+ + SubscriptionManager.VT_IMS_ENABLED + " INTEGER DEFAULT -1;");
+ db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN "
+ + SubscriptionManager.WFC_IMS_ENABLED + " INTEGER DEFAULT -1;");
+ db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN "
+ + SubscriptionManager.WFC_IMS_MODE + " INTEGER DEFAULT -1;");
+ db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN "
+ + SubscriptionManager.WFC_IMS_ROAMING_MODE + " INTEGER DEFAULT -1;");
+ db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN "
+ + SubscriptionManager.WFC_IMS_ROAMING_ENABLED + " INTEGER DEFAULT -1;");
+ } catch (SQLiteException e) {
+ if (DBG) {
+ log("onUpgrade skipping " + CARRIERS_TABLE + " upgrade. " +
+ "The table will get created in onOpen.");
+ }
+ }
+ oldVersion = 22 << 16 | 6;
+ }
+ if (oldVersion < (23 << 16 | 6)) {
+ try {
db.execSQL("ALTER TABLE " + CARRIERS_TABLE + " ADD COLUMN " +
OWNED_BY + " INTEGER DEFAULT " + OWNED_BY_OTHERS + ";");
} catch (SQLiteException e) {
@@ -962,7 +993,7 @@
"The table will get created in onOpen.");
}
}
- oldVersion = 22 << 16 | 6;
+ oldVersion = 23 << 16 | 6;
}
if (DBG) {
log("dbh.onUpgrade:- db=" + db + " oldV=" + oldVersion + " newV=" + newVersion);