Loading src/java/com/android/ims/rcs/uce/eab/EabProvider.java +42 −5 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ public class EabProvider extends ContentProvider { public static final String AUTHORITY = "eab"; private static final String TAG = "EabProvider"; private static final int DATABASE_VERSION = 2; private static final int DATABASE_VERSION = 3; public static final String EAB_CONTACT_TABLE_NAME = "eab_contact"; public static final String EAB_COMMON_TABLE_NAME = "eab_common"; Loading Loading @@ -332,8 +332,6 @@ public class EabProvider extends ContentProvider { static { CONTACT_UNIQUE_FIELDS.add(ContactColumns.PHONE_NUMBER); COMMON_UNIQUE_FIELDS.add(EabCommonColumns.EAB_CONTACT_ID); } @VisibleForTesting Loading @@ -356,8 +354,7 @@ public class EabProvider extends ContentProvider { + EabCommonColumns.EAB_CONTACT_ID + " INTEGER DEFAULT -1, " + EabCommonColumns.MECHANISM + " INTEGER DEFAULT NULL, " + EabCommonColumns.REQUEST_RESULT + " INTEGER DEFAULT -1, " + EabCommonColumns.SUBSCRIPTION_ID + " INTEGER DEFAULT -1, " + "UNIQUE (" + TextUtils.join(", ", COMMON_UNIQUE_FIELDS) + ")" + EabCommonColumns.SUBSCRIPTION_ID + " INTEGER DEFAULT -1 " + ");"; @VisibleForTesting Loading Loading @@ -410,6 +407,46 @@ public class EabProvider extends ContentProvider { + ContactColumns.CONTACT_ID + " INTEGER DEFAULT -1;"); oldVersion = 2; } if (oldVersion < 3) { // Drop UNIQUE constraint in EAB_COMMON_TABLE, SQLite didn't support DROP // constraint, so drop the old one and migrate data to new one // Create temp table final String createTempTableCommand = "CREATE TABLE temp" + " (" + EabCommonColumns._ID + " INTEGER PRIMARY KEY, " + EabCommonColumns.EAB_CONTACT_ID + " INTEGER DEFAULT -1, " + EabCommonColumns.MECHANISM + " INTEGER DEFAULT NULL, " + EabCommonColumns.REQUEST_RESULT + " INTEGER DEFAULT -1, " + EabCommonColumns.SUBSCRIPTION_ID + " INTEGER DEFAULT -1 " + ");"; sqLiteDatabase.execSQL(createTempTableCommand); // Migrate data to temp table sqLiteDatabase.execSQL("INSERT INTO temp (" + EabCommonColumns._ID + ", " + EabCommonColumns.EAB_CONTACT_ID + ", " + EabCommonColumns.MECHANISM + ", " + EabCommonColumns.REQUEST_RESULT + ", " + EabCommonColumns.SUBSCRIPTION_ID + ") " + " SELECT " + EabCommonColumns._ID + ", " + EabCommonColumns.EAB_CONTACT_ID + ", " + EabCommonColumns.MECHANISM + ", " + EabCommonColumns.REQUEST_RESULT + ", " + EabCommonColumns.SUBSCRIPTION_ID + " " + " FROM " + EAB_COMMON_TABLE_NAME +";"); // Drop old one sqLiteDatabase.execSQL("DROP TABLE " + EAB_COMMON_TABLE_NAME + ";"); // Rename temp to eab_common sqLiteDatabase.execSQL("ALTER TABLE temp RENAME TO " + EAB_COMMON_TABLE_NAME + ";"); oldVersion = 3; } } } Loading tests/src/com/android/ims/rcs/uce/eab/EabControllerTest.java +44 −20 Original line number Diff line number Diff line Loading @@ -66,7 +66,8 @@ import java.util.concurrent.TimeUnit; @RunWith(AndroidJUnit4.class) public class EabControllerTest extends ImsTestBase { EabProviderTestable mEabProviderTestable = new EabProviderTestable(); EabControllerImpl mEabController; EabControllerImpl mEabControllerSub1; EabControllerImpl mEabControllerSub2; PersistableBundle mBundle; ExecutorService mExecutor = Executors.newSingleThreadExecutor(); Loading @@ -74,6 +75,7 @@ public class EabControllerTest extends ImsTestBase { EabControllerImpl.ExpirationTimeFactory mExpirationTimeFactory; private static final int TEST_SUB_ID = 1; private static final int TEST_SECOND_SUB_ID = 2; private static final String TEST_PHONE_NUMBER = "16661234567"; private static final String TEST_SERVICE_STATUS = "status"; private static final String TEST_SERVICE_SERVICE_ID = "serviceId"; Loading @@ -94,9 +96,14 @@ public class EabControllerTest extends ImsTestBase { mockContentResolver.addProvider(EabProvider.AUTHORITY, mEabProviderTestable); insertContactInfoToDB(); mEabController = new EabControllerImpl( mEabControllerSub1 = new EabControllerImpl( mContext, TEST_SUB_ID, null, Looper.getMainLooper()); mEabController.setExpirationTimeFactory(mExpirationTimeFactory); mEabControllerSub1.setExpirationTimeFactory(mExpirationTimeFactory); mEabControllerSub2 = new EabControllerImpl( mContext, TEST_SECOND_SUB_ID, null, Looper.getMainLooper()); mEabControllerSub2.setExpirationTimeFactory(mExpirationTimeFactory); doReturn(Instant.now().getEpochSecond()).when(mExpirationTimeFactory).getExpirationTime(); mBundle = mContextFixture.getTestCarrierConfigBundle(); Loading @@ -113,9 +120,9 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); EabCapabilityResult result = mEabController.getAvailability(TEST_CONTACT_URI); EabCapabilityResult result = mEabControllerSub1.getAvailability(TEST_CONTACT_URI); Assert.assertEquals(EabCapabilityResult.EAB_QUERY_SUCCESSFUL, result.getStatus()); Assert.assertEquals(TEST_CONTACT_URI, result.getContactCapabilities().getContactUri()); Loading @@ -127,14 +134,14 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_QUERY_SUCCESSFUL, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -145,14 +152,14 @@ public class EabControllerTest extends ImsTestBase { contactList.add(createPresenceCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_CONTACT_EXPIRED_FAILURE, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -164,16 +171,16 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceNonRcsCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); // Verify result is not expired Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_QUERY_SUCCESSFUL, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -187,15 +194,15 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceNonRcsCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); // Verify result is expired List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_CONTACT_EXPIRED_FAILURE, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -209,7 +216,7 @@ public class EabControllerTest extends ImsTestBase { data.put(EabProvider.EabCommonColumns.SUBSCRIPTION_ID, -1); mContext.getContentResolver().insert(COMMON_URI, data); mExecutor.execute(mEabController.mCapabilityCleanupRunnable); mExecutor.execute(mEabControllerSub1.mCapabilityCleanupRunnable); mExecutor.awaitTermination(TIME_OUT_IN_SEC, TimeUnit.SECONDS); // Verify the entry that cannot map to presence/option table has been removed Loading Loading @@ -242,7 +249,7 @@ public class EabControllerTest extends ImsTestBase { expiredDate.getTime().getTime() / 1000); mContext.getContentResolver().insert(PRESENCE_URI, data); mExecutor.execute(mEabController.mCapabilityCleanupRunnable); mExecutor.execute(mEabControllerSub1.mCapabilityCleanupRunnable); mExecutor.awaitTermination(TIME_OUT_IN_SEC, TimeUnit.SECONDS); // Verify the invalid data has been removed after save capabilities Loading Loading @@ -275,7 +282,7 @@ public class EabControllerTest extends ImsTestBase { expiredDate.getTime().getTime() / 1000); mContext.getContentResolver().insert(OPTIONS_URI, data); mExecutor.execute(mEabController.mCapabilityCleanupRunnable); mExecutor.execute(mEabControllerSub1.mCapabilityCleanupRunnable); mExecutor.awaitTermination(TIME_OUT_IN_SEC, TimeUnit.SECONDS); // Verify the invalid data has been removed after save capabilities Loading @@ -289,6 +296,23 @@ public class EabControllerTest extends ImsTestBase { } } @Test @SmallTest public void testSaveCapabilityForDifferentSubId() { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceCapability()); mEabControllerSub1.saveCapabilities(contactList); mEabControllerSub2.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(1, mEabControllerSub2.getCapabilities(contactUriList).size()); } private RcsContactUceCapability createPresenceCapability() { RcsContactPresenceTuple.ServiceCapabilities.Builder serviceCapabilitiesBuilder = new RcsContactPresenceTuple.ServiceCapabilities.Builder(TEST_AUDIO_CAPABLE, Loading tests/src/com/android/ims/rcs/uce/eab/EabProviderTest.java +4 −2 Original line number Diff line number Diff line Loading @@ -117,17 +117,19 @@ public class EabProviderTest extends ImsTestBase { @Test @SmallTest public void testCommonIsUnique() { public void testCommonIsNotUnique() { ContentValues data = new ContentValues(); data.put(EabProvider.EabCommonColumns.EAB_CONTACT_ID, 1); data.put(EabProvider.EabCommonColumns.MECHANISM, CAPABILITY_MECHANISM_PRESENCE); data.put(EabProvider.EabCommonColumns.REQUEST_RESULT, REQUEST_RESULT_FOUND); data.put(EabProvider.EabCommonColumns.SUBSCRIPTION_ID, 1); mContext.getContentResolver().insert(COMMON_URI, data); data = new ContentValues(); data.put(EabProvider.EabCommonColumns.EAB_CONTACT_ID, 1); data.put(EabProvider.EabCommonColumns.MECHANISM, CAPABILITY_MECHANISM_PRESENCE); data.put(EabProvider.EabCommonColumns.REQUEST_RESULT, REQUEST_RESULT_FOUND); data.put(EabProvider.EabCommonColumns.SUBSCRIPTION_ID, 2); mContext.getContentResolver().insert(COMMON_URI, data); Cursor cursor = mContext.getContentResolver().query(COMMON_URI, Loading @@ -136,7 +138,7 @@ public class EabProviderTest extends ImsTestBase { null, null); assertEquals(1, cursor.getCount()); assertEquals(2, cursor.getCount()); } @Test Loading Loading
src/java/com/android/ims/rcs/uce/eab/EabProvider.java +42 −5 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ public class EabProvider extends ContentProvider { public static final String AUTHORITY = "eab"; private static final String TAG = "EabProvider"; private static final int DATABASE_VERSION = 2; private static final int DATABASE_VERSION = 3; public static final String EAB_CONTACT_TABLE_NAME = "eab_contact"; public static final String EAB_COMMON_TABLE_NAME = "eab_common"; Loading Loading @@ -332,8 +332,6 @@ public class EabProvider extends ContentProvider { static { CONTACT_UNIQUE_FIELDS.add(ContactColumns.PHONE_NUMBER); COMMON_UNIQUE_FIELDS.add(EabCommonColumns.EAB_CONTACT_ID); } @VisibleForTesting Loading @@ -356,8 +354,7 @@ public class EabProvider extends ContentProvider { + EabCommonColumns.EAB_CONTACT_ID + " INTEGER DEFAULT -1, " + EabCommonColumns.MECHANISM + " INTEGER DEFAULT NULL, " + EabCommonColumns.REQUEST_RESULT + " INTEGER DEFAULT -1, " + EabCommonColumns.SUBSCRIPTION_ID + " INTEGER DEFAULT -1, " + "UNIQUE (" + TextUtils.join(", ", COMMON_UNIQUE_FIELDS) + ")" + EabCommonColumns.SUBSCRIPTION_ID + " INTEGER DEFAULT -1 " + ");"; @VisibleForTesting Loading Loading @@ -410,6 +407,46 @@ public class EabProvider extends ContentProvider { + ContactColumns.CONTACT_ID + " INTEGER DEFAULT -1;"); oldVersion = 2; } if (oldVersion < 3) { // Drop UNIQUE constraint in EAB_COMMON_TABLE, SQLite didn't support DROP // constraint, so drop the old one and migrate data to new one // Create temp table final String createTempTableCommand = "CREATE TABLE temp" + " (" + EabCommonColumns._ID + " INTEGER PRIMARY KEY, " + EabCommonColumns.EAB_CONTACT_ID + " INTEGER DEFAULT -1, " + EabCommonColumns.MECHANISM + " INTEGER DEFAULT NULL, " + EabCommonColumns.REQUEST_RESULT + " INTEGER DEFAULT -1, " + EabCommonColumns.SUBSCRIPTION_ID + " INTEGER DEFAULT -1 " + ");"; sqLiteDatabase.execSQL(createTempTableCommand); // Migrate data to temp table sqLiteDatabase.execSQL("INSERT INTO temp (" + EabCommonColumns._ID + ", " + EabCommonColumns.EAB_CONTACT_ID + ", " + EabCommonColumns.MECHANISM + ", " + EabCommonColumns.REQUEST_RESULT + ", " + EabCommonColumns.SUBSCRIPTION_ID + ") " + " SELECT " + EabCommonColumns._ID + ", " + EabCommonColumns.EAB_CONTACT_ID + ", " + EabCommonColumns.MECHANISM + ", " + EabCommonColumns.REQUEST_RESULT + ", " + EabCommonColumns.SUBSCRIPTION_ID + " " + " FROM " + EAB_COMMON_TABLE_NAME +";"); // Drop old one sqLiteDatabase.execSQL("DROP TABLE " + EAB_COMMON_TABLE_NAME + ";"); // Rename temp to eab_common sqLiteDatabase.execSQL("ALTER TABLE temp RENAME TO " + EAB_COMMON_TABLE_NAME + ";"); oldVersion = 3; } } } Loading
tests/src/com/android/ims/rcs/uce/eab/EabControllerTest.java +44 −20 Original line number Diff line number Diff line Loading @@ -66,7 +66,8 @@ import java.util.concurrent.TimeUnit; @RunWith(AndroidJUnit4.class) public class EabControllerTest extends ImsTestBase { EabProviderTestable mEabProviderTestable = new EabProviderTestable(); EabControllerImpl mEabController; EabControllerImpl mEabControllerSub1; EabControllerImpl mEabControllerSub2; PersistableBundle mBundle; ExecutorService mExecutor = Executors.newSingleThreadExecutor(); Loading @@ -74,6 +75,7 @@ public class EabControllerTest extends ImsTestBase { EabControllerImpl.ExpirationTimeFactory mExpirationTimeFactory; private static final int TEST_SUB_ID = 1; private static final int TEST_SECOND_SUB_ID = 2; private static final String TEST_PHONE_NUMBER = "16661234567"; private static final String TEST_SERVICE_STATUS = "status"; private static final String TEST_SERVICE_SERVICE_ID = "serviceId"; Loading @@ -94,9 +96,14 @@ public class EabControllerTest extends ImsTestBase { mockContentResolver.addProvider(EabProvider.AUTHORITY, mEabProviderTestable); insertContactInfoToDB(); mEabController = new EabControllerImpl( mEabControllerSub1 = new EabControllerImpl( mContext, TEST_SUB_ID, null, Looper.getMainLooper()); mEabController.setExpirationTimeFactory(mExpirationTimeFactory); mEabControllerSub1.setExpirationTimeFactory(mExpirationTimeFactory); mEabControllerSub2 = new EabControllerImpl( mContext, TEST_SECOND_SUB_ID, null, Looper.getMainLooper()); mEabControllerSub2.setExpirationTimeFactory(mExpirationTimeFactory); doReturn(Instant.now().getEpochSecond()).when(mExpirationTimeFactory).getExpirationTime(); mBundle = mContextFixture.getTestCarrierConfigBundle(); Loading @@ -113,9 +120,9 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); EabCapabilityResult result = mEabController.getAvailability(TEST_CONTACT_URI); EabCapabilityResult result = mEabControllerSub1.getAvailability(TEST_CONTACT_URI); Assert.assertEquals(EabCapabilityResult.EAB_QUERY_SUCCESSFUL, result.getStatus()); Assert.assertEquals(TEST_CONTACT_URI, result.getContactCapabilities().getContactUri()); Loading @@ -127,14 +134,14 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_QUERY_SUCCESSFUL, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -145,14 +152,14 @@ public class EabControllerTest extends ImsTestBase { contactList.add(createPresenceCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_CONTACT_EXPIRED_FAILURE, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -164,16 +171,16 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceNonRcsCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); // Verify result is not expired Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_QUERY_SUCCESSFUL, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -187,15 +194,15 @@ public class EabControllerTest extends ImsTestBase { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceNonRcsCapability()); mEabController.saveCapabilities(contactList); mEabControllerSub1.saveCapabilities(contactList); // Verify result is expired List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabController.getCapabilities(contactUriList).size()); mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(EabCapabilityResult.EAB_CONTACT_EXPIRED_FAILURE, mEabController.getCapabilities(contactUriList).get(0).getStatus()); mEabControllerSub1.getCapabilities(contactUriList).get(0).getStatus()); } @Test Loading @@ -209,7 +216,7 @@ public class EabControllerTest extends ImsTestBase { data.put(EabProvider.EabCommonColumns.SUBSCRIPTION_ID, -1); mContext.getContentResolver().insert(COMMON_URI, data); mExecutor.execute(mEabController.mCapabilityCleanupRunnable); mExecutor.execute(mEabControllerSub1.mCapabilityCleanupRunnable); mExecutor.awaitTermination(TIME_OUT_IN_SEC, TimeUnit.SECONDS); // Verify the entry that cannot map to presence/option table has been removed Loading Loading @@ -242,7 +249,7 @@ public class EabControllerTest extends ImsTestBase { expiredDate.getTime().getTime() / 1000); mContext.getContentResolver().insert(PRESENCE_URI, data); mExecutor.execute(mEabController.mCapabilityCleanupRunnable); mExecutor.execute(mEabControllerSub1.mCapabilityCleanupRunnable); mExecutor.awaitTermination(TIME_OUT_IN_SEC, TimeUnit.SECONDS); // Verify the invalid data has been removed after save capabilities Loading Loading @@ -275,7 +282,7 @@ public class EabControllerTest extends ImsTestBase { expiredDate.getTime().getTime() / 1000); mContext.getContentResolver().insert(OPTIONS_URI, data); mExecutor.execute(mEabController.mCapabilityCleanupRunnable); mExecutor.execute(mEabControllerSub1.mCapabilityCleanupRunnable); mExecutor.awaitTermination(TIME_OUT_IN_SEC, TimeUnit.SECONDS); // Verify the invalid data has been removed after save capabilities Loading @@ -289,6 +296,23 @@ public class EabControllerTest extends ImsTestBase { } } @Test @SmallTest public void testSaveCapabilityForDifferentSubId() { List<RcsContactUceCapability> contactList = new ArrayList<>(); contactList.add(createPresenceCapability()); mEabControllerSub1.saveCapabilities(contactList); mEabControllerSub2.saveCapabilities(contactList); List<Uri> contactUriList = new ArrayList<>(); contactUriList.add(TEST_CONTACT_URI); Assert.assertEquals(1, mEabControllerSub1.getCapabilities(contactUriList).size()); Assert.assertEquals(1, mEabControllerSub2.getCapabilities(contactUriList).size()); } private RcsContactUceCapability createPresenceCapability() { RcsContactPresenceTuple.ServiceCapabilities.Builder serviceCapabilitiesBuilder = new RcsContactPresenceTuple.ServiceCapabilities.Builder(TEST_AUDIO_CAPABLE, Loading
tests/src/com/android/ims/rcs/uce/eab/EabProviderTest.java +4 −2 Original line number Diff line number Diff line Loading @@ -117,17 +117,19 @@ public class EabProviderTest extends ImsTestBase { @Test @SmallTest public void testCommonIsUnique() { public void testCommonIsNotUnique() { ContentValues data = new ContentValues(); data.put(EabProvider.EabCommonColumns.EAB_CONTACT_ID, 1); data.put(EabProvider.EabCommonColumns.MECHANISM, CAPABILITY_MECHANISM_PRESENCE); data.put(EabProvider.EabCommonColumns.REQUEST_RESULT, REQUEST_RESULT_FOUND); data.put(EabProvider.EabCommonColumns.SUBSCRIPTION_ID, 1); mContext.getContentResolver().insert(COMMON_URI, data); data = new ContentValues(); data.put(EabProvider.EabCommonColumns.EAB_CONTACT_ID, 1); data.put(EabProvider.EabCommonColumns.MECHANISM, CAPABILITY_MECHANISM_PRESENCE); data.put(EabProvider.EabCommonColumns.REQUEST_RESULT, REQUEST_RESULT_FOUND); data.put(EabProvider.EabCommonColumns.SUBSCRIPTION_ID, 2); mContext.getContentResolver().insert(COMMON_URI, data); Cursor cursor = mContext.getContentResolver().query(COMMON_URI, Loading @@ -136,7 +138,7 @@ public class EabProviderTest extends ImsTestBase { null, null); assertEquals(1, cursor.getCount()); assertEquals(2, cursor.getCount()); } @Test Loading