Merge "Add Iccid_prefix field"
diff --git a/src/com/android/providers/telephony/CarrierIdProvider.java b/src/com/android/providers/telephony/CarrierIdProvider.java
index a14923e..91fdf21 100644
--- a/src/com/android/providers/telephony/CarrierIdProvider.java
+++ b/src/com/android/providers/telephony/CarrierIdProvider.java
@@ -70,7 +70,7 @@
private static final String TAG = CarrierIdProvider.class.getSimpleName();
private static final String DATABASE_NAME = "carrierIdentification.db";
- private static final int DATABASE_VERSION = 2;
+ private static final int DATABASE_VERSION = 3;
private static final String ASSETS_PB_FILE = "carrier_list.pb";
private static final String ASSETS_FILE_CHECKSUM_PREF_KEY = "assets_checksum";
@@ -105,6 +105,10 @@
*/
private static final int APN_INDEX = 6;
/**
+ * index 7: {@link CarrierIdentification#ICCID_PREFIX}
+ */
+ private static final int ICCID_PREFIX_INDEX = 7;
+ /**
* ending index of carrier attribute list.
*/
private static final int CARRIER_ATTR_END_IDX = APN_INDEX;
@@ -123,7 +127,8 @@
CarrierIdentification.PLMN,
CarrierIdentification.IMSI_PREFIX_XPATTERN,
CarrierIdentification.SPN,
- CarrierIdentification.APN));
+ CarrierIdentification.APN,
+ CarrierIdentification.ICCID_PREFIX));
private CarrierIdDatabaseHelper mDbHelper;
@@ -138,6 +143,7 @@
+ CarrierIdentification.IMSI_PREFIX_XPATTERN + " TEXT,"
+ CarrierIdentification.SPN + " TEXT,"
+ CarrierIdentification.APN + " TEXT,"
+ + CarrierIdentification.ICCID_PREFIX + " TEXT,"
+ CarrierIdentification.NAME + " TEXT,"
+ CarrierIdentification.CID + " INTEGER DEFAULT -1,"
+ "UNIQUE (" + TextUtils.join(", ", CARRIERS_ID_UNIQUE_FIELDS) + "));";
@@ -409,6 +415,14 @@
found = true;
}
break;
+ case ICCID_PREFIX_INDEX:
+ for (String str : attr.iccidPrefix) {
+ cv.put(CarrierIdentification.ICCID_PREFIX, str);
+ convertCarrierAttrToContentValues(cv, cvs, attr, index + 1);
+ cv.remove(CarrierIdentification.ICCID_PREFIX);
+ found = true;
+ }
+ break;
default:
Log.e(TAG, "unsupported index: " + index);
break;
diff --git a/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java b/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java
index 443247a..2bf069b 100644
--- a/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java
+++ b/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java
@@ -56,7 +56,8 @@
private static final String dummy_imsi_prefix = "IMSI_PREFIX_DUMMY";
private static final String dummy_spn = "SPN_DUMMY";
private static final String dummy_apn = "APN_DUMMY";
- private static final String dummy_name = "NAME_DUMMY";
+ private static final String dummy_iccid_prefix = "ICCID_PREFIX_DUMMY";
+ private static final String dummy_name = "NAME_DUMMY";
private static final int dummy_cid = 0;
private MockContextWithProvider mContext;
@@ -271,7 +272,7 @@
}
Cursor findEntry = null;
- String[] columns = {CarrierIdentification.CID};
+ String[] columns = {CarrierIdentification.CID, CarrierIdentification.ICCID_PREFIX};
try {
findEntry = mContentResolver.query(CarrierIdentification.CONTENT_URI, columns,
CarrierIdentification.MCCMNC + "=?", new String[] { dummy_mccmnc },
@@ -282,16 +283,18 @@
assertEquals(2, findEntry.getCount());
try {
- // query based on mccmnc & gid1
+ // query based on mccmnc & gid1 & iccid_prefix
findEntry = mContentResolver.query(CarrierIdentification.CONTENT_URI, columns,
- CarrierIdentification.MCCMNC + "=? and " + CarrierIdentification.GID1 + "=?",
- new String[] { dummy_mccmnc, dummy_gid1 }, null);
+ CarrierIdentification.MCCMNC + "=? and " + CarrierIdentification.GID1 + "=? and "
+ + CarrierIdentification.ICCID_PREFIX + "=?",
+ new String[] { dummy_mccmnc, dummy_gid1, dummy_iccid_prefix }, null);
} catch (Exception e) {
Log.d(TAG, "Query failed:" + e);
}
assertEquals(1, findEntry.getCount());
findEntry.moveToFirst();
assertEquals(dummy_cid, findEntry.getInt(0));
+ assertEquals(dummy_iccid_prefix, findEntry.getString(1));
}
private static ContentValues createCarrierInfoInternal() {
@@ -303,6 +306,7 @@
contentValues.put(CarrierIdentification.IMSI_PREFIX_XPATTERN, dummy_imsi_prefix);
contentValues.put(CarrierIdentification.SPN, dummy_spn);
contentValues.put(CarrierIdentification.APN, dummy_apn);
+ contentValues.put(CarrierIdentification.ICCID_PREFIX, dummy_iccid_prefix);
contentValues.put(CarrierIdentification.NAME, dummy_name);
contentValues.put(CarrierIdentification.CID, dummy_cid);
return contentValues;