Loading src/java/com/android/internal/telephony/SubscriptionController.java +1 −1 Original line number Diff line number Diff line Loading @@ -2379,7 +2379,7 @@ public class SubscriptionController extends ISub.Stub { } } return oldOpptCachedList.equals(mCacheOpportunisticSubInfoList); return !oldOpptCachedList.equals(mCacheOpportunisticSubInfoList); } } } tests/telephonytests/src/com/android/internal/telephony/SubscriptionControllerTest.java +65 −5 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.eq; Loading @@ -39,15 +40,17 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import java.util.List; public class SubscriptionControllerTest extends TelephonyTest { private static final int SINGLE_SIM = 1; private String mCallingPackage; private SubscriptionController mSubscriptionControllerUT; private MockContentResolver mMockContentResolver; @Mock private ITelephonyRegistry.Stub mTelephonyRegisteryMock; @Before public void setUp() throws Exception { Loading Loading @@ -77,7 +80,7 @@ public class SubscriptionControllerTest extends TelephonyTest { /* should clear fake content provider and resolver here */ mContext.getContentResolver().delete(SubscriptionManager.CONTENT_URI, null, null); /* Clear sSlotIndexToSubId since they will otherwise be persistent /*clear sub info in mSubscriptionControllerUT since they will otherwise be persistent * between each test case. */ mSubscriptionControllerUT.clearSubInfo(); Loading @@ -98,11 +101,10 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test @SmallTest public void testInsertSim() { int slotID = mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage); //verify there is no sim inserted in the SubscriptionManager assertEquals(0, slotID); assertEquals(0, mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage)); int slotID = 0; //insert one Subscription Info mSubscriptionControllerUT.addSubInfoRecord("test", slotID); Loading Loading @@ -331,4 +333,62 @@ public class SubscriptionControllerTest extends TelephonyTest { SubscriptionManager.WFC_IMS_ROAMING_MODE, mCallingPackage)); } @Test @SmallTest public void testOpptSubInfoListChanged() throws Exception { registerMockTelephonyRegistry(); verify(mTelephonyRegisteryMock, times(0)) .notifyOpportunisticSubscriptionInfoChanged(); testInsertSim(); testInsertSim2(); // Neither sub1 or sub2 are opportunistic. So getOpportunisticSubscriptions // should return empty list and no callback triggered. List<SubscriptionInfo> opptSubList = mSubscriptionControllerUT .getOpportunisticSubscriptions(0, mCallingPackage); assertTrue(opptSubList.isEmpty()); verify(mTelephonyRegisteryMock, times(0)) .notifyOpportunisticSubscriptionInfoChanged(); // Setting sub2 as opportunistic should trigger callback. mSubscriptionControllerUT.setOpportunistic(true, 2); verify(mTelephonyRegisteryMock, times(1)) .notifyOpportunisticSubscriptionInfoChanged(); opptSubList = mSubscriptionControllerUT .getOpportunisticSubscriptions(0, mCallingPackage); assertEquals(1, opptSubList.size()); assertEquals("test2", opptSubList.get(0).getIccId()); // Changing non-opportunistic sub1 shouldn't trigger callback. mSubscriptionControllerUT.setDisplayName("DisplayName", 1); verify(mTelephonyRegisteryMock, times(1)) .notifyOpportunisticSubscriptionInfoChanged(); mSubscriptionControllerUT.setDisplayName("DisplayName", 2); verify(mTelephonyRegisteryMock, times(2)) .notifyOpportunisticSubscriptionInfoChanged(); } private void testInsertSim2() { // verify there's already a SIM profile added. assertEquals(1, mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage)); int slotID = 0; //insert one Subscription Info mSubscriptionControllerUT.addSubInfoRecord("test2", slotID); //verify there is one sim assertEquals(2, mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage)); } private void registerMockTelephonyRegistry() { mServiceManagerMockedServices.put("telephony.registry", mTelephonyRegisteryMock); doReturn(mTelephonyRegisteryMock).when(mTelephonyRegisteryMock) .queryLocalInterface(anyString()); } } tests/telephonytests/src/com/android/internal/telephony/SubscriptionInfoTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import android.telephony.SubscriptionInfo; import android.test.suitebuilder.annotation.SmallTest; Loading Loading @@ -78,4 +79,22 @@ public class SubscriptionInfoTest { mSubscriptionInfoUT.setIconTint(0); assertEquals(0, mSubscriptionInfoUT.getIconTint()); } @Test @SmallTest public void testEquals() { SubscriptionInfo copiedInfo = new SubscriptionInfo(1, "890126042XXXXXXXXXXX", 0, "T-mobile", "T-mobile", 0, 255, "12345", 0, null, "310", "260", "156", false, null, null); SubscriptionInfo differentDisplayName = new SubscriptionInfo(1, "890126042XXXXXXXXXXX", 0, "AT&T", "T-mobile", 0, 255, "12345", 0, null, "310", "260", "156", false, null, null); SubscriptionInfo differentSubId = new SubscriptionInfo(2, "890126042XXXXXXXXXXX", 0, "AT&T", "T-mobile", 0, 255, "12345", 0, null, "310", "260", "156", false, null, null); assertEquals(mSubscriptionInfoUT, copiedInfo); assertNotEquals(mSubscriptionInfoUT, differentDisplayName); assertNotEquals(mSubscriptionInfoUT, differentSubId); } } Loading
src/java/com/android/internal/telephony/SubscriptionController.java +1 −1 Original line number Diff line number Diff line Loading @@ -2379,7 +2379,7 @@ public class SubscriptionController extends ISub.Stub { } } return oldOpptCachedList.equals(mCacheOpportunisticSubInfoList); return !oldOpptCachedList.equals(mCacheOpportunisticSubInfoList); } } }
tests/telephonytests/src/com/android/internal/telephony/SubscriptionControllerTest.java +65 −5 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.eq; Loading @@ -39,15 +40,17 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import java.util.List; public class SubscriptionControllerTest extends TelephonyTest { private static final int SINGLE_SIM = 1; private String mCallingPackage; private SubscriptionController mSubscriptionControllerUT; private MockContentResolver mMockContentResolver; @Mock private ITelephonyRegistry.Stub mTelephonyRegisteryMock; @Before public void setUp() throws Exception { Loading Loading @@ -77,7 +80,7 @@ public class SubscriptionControllerTest extends TelephonyTest { /* should clear fake content provider and resolver here */ mContext.getContentResolver().delete(SubscriptionManager.CONTENT_URI, null, null); /* Clear sSlotIndexToSubId since they will otherwise be persistent /*clear sub info in mSubscriptionControllerUT since they will otherwise be persistent * between each test case. */ mSubscriptionControllerUT.clearSubInfo(); Loading @@ -98,11 +101,10 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test @SmallTest public void testInsertSim() { int slotID = mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage); //verify there is no sim inserted in the SubscriptionManager assertEquals(0, slotID); assertEquals(0, mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage)); int slotID = 0; //insert one Subscription Info mSubscriptionControllerUT.addSubInfoRecord("test", slotID); Loading Loading @@ -331,4 +333,62 @@ public class SubscriptionControllerTest extends TelephonyTest { SubscriptionManager.WFC_IMS_ROAMING_MODE, mCallingPackage)); } @Test @SmallTest public void testOpptSubInfoListChanged() throws Exception { registerMockTelephonyRegistry(); verify(mTelephonyRegisteryMock, times(0)) .notifyOpportunisticSubscriptionInfoChanged(); testInsertSim(); testInsertSim2(); // Neither sub1 or sub2 are opportunistic. So getOpportunisticSubscriptions // should return empty list and no callback triggered. List<SubscriptionInfo> opptSubList = mSubscriptionControllerUT .getOpportunisticSubscriptions(0, mCallingPackage); assertTrue(opptSubList.isEmpty()); verify(mTelephonyRegisteryMock, times(0)) .notifyOpportunisticSubscriptionInfoChanged(); // Setting sub2 as opportunistic should trigger callback. mSubscriptionControllerUT.setOpportunistic(true, 2); verify(mTelephonyRegisteryMock, times(1)) .notifyOpportunisticSubscriptionInfoChanged(); opptSubList = mSubscriptionControllerUT .getOpportunisticSubscriptions(0, mCallingPackage); assertEquals(1, opptSubList.size()); assertEquals("test2", opptSubList.get(0).getIccId()); // Changing non-opportunistic sub1 shouldn't trigger callback. mSubscriptionControllerUT.setDisplayName("DisplayName", 1); verify(mTelephonyRegisteryMock, times(1)) .notifyOpportunisticSubscriptionInfoChanged(); mSubscriptionControllerUT.setDisplayName("DisplayName", 2); verify(mTelephonyRegisteryMock, times(2)) .notifyOpportunisticSubscriptionInfoChanged(); } private void testInsertSim2() { // verify there's already a SIM profile added. assertEquals(1, mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage)); int slotID = 0; //insert one Subscription Info mSubscriptionControllerUT.addSubInfoRecord("test2", slotID); //verify there is one sim assertEquals(2, mSubscriptionControllerUT.getAllSubInfoCount(mCallingPackage)); } private void registerMockTelephonyRegistry() { mServiceManagerMockedServices.put("telephony.registry", mTelephonyRegisteryMock); doReturn(mTelephonyRegisteryMock).when(mTelephonyRegisteryMock) .queryLocalInterface(anyString()); } }
tests/telephonytests/src/com/android/internal/telephony/SubscriptionInfoTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import android.telephony.SubscriptionInfo; import android.test.suitebuilder.annotation.SmallTest; Loading Loading @@ -78,4 +79,22 @@ public class SubscriptionInfoTest { mSubscriptionInfoUT.setIconTint(0); assertEquals(0, mSubscriptionInfoUT.getIconTint()); } @Test @SmallTest public void testEquals() { SubscriptionInfo copiedInfo = new SubscriptionInfo(1, "890126042XXXXXXXXXXX", 0, "T-mobile", "T-mobile", 0, 255, "12345", 0, null, "310", "260", "156", false, null, null); SubscriptionInfo differentDisplayName = new SubscriptionInfo(1, "890126042XXXXXXXXXXX", 0, "AT&T", "T-mobile", 0, 255, "12345", 0, null, "310", "260", "156", false, null, null); SubscriptionInfo differentSubId = new SubscriptionInfo(2, "890126042XXXXXXXXXXX", 0, "AT&T", "T-mobile", 0, 255, "12345", 0, null, "310", "260", "156", false, null, null); assertEquals(mSubscriptionInfoUT, copiedInfo); assertNotEquals(mSubscriptionInfoUT, differentDisplayName); assertNotEquals(mSubscriptionInfoUT, differentSubId); } }