Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +13 −0 Original line number Diff line number Diff line Loading @@ -2101,6 +2101,19 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { case ImsReasonInfo.CODE_UNOBTAINABLE_NUMBER: return DisconnectCause.UNOBTAINABLE_NUMBER; case ImsReasonInfo.CODE_UNSPECIFIED: if (mPhone.getDefaultPhone().getServiceStateTracker().mRestrictedState .isCsRestricted()) { return DisconnectCause.CS_RESTRICTED; } else if (mPhone.getDefaultPhone().getServiceStateTracker().mRestrictedState .isCsEmergencyRestricted()) { return DisconnectCause.CS_RESTRICTED_EMERGENCY; } else if (mPhone.getDefaultPhone().getServiceStateTracker().mRestrictedState .isCsNormalRestricted()) { return DisconnectCause.CS_RESTRICTED_NORMAL; } break; default: } Loading tests/telephonytests/src/com/android/internal/telephony/TelephonyTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,8 @@ public abstract class TelephonyTest { protected SubscriptionInfoUpdater mSubInfoRecordUpdater; @Mock protected LocaleTracker mLocaleTracker; @Mock protected RestrictedState mRestrictedState; protected ImsCallProfile mImsCallProfile; protected TelephonyManager mTelephonyManager; Loading Loading @@ -464,6 +466,7 @@ public abstract class TelephonyTest { nullable(Intent[].class), nullable(String[].class), anyInt(), nullable(Bundle.class), anyInt()); mSST.mSS = mServiceState; mSST.mRestrictedState = mRestrictedState; mServiceManagerMockedServices.put("connectivity_metrics_logger", mConnMetLoggerBinder); //SIM Loading tests/telephonytests/src/com/android/internal/telephony/imsphone/ImsPhoneCallTrackerTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -812,4 +812,31 @@ public class ImsPhoneCallTrackerTest extends TelephonyTest { } verify(mImsPhone, times(1)).startOnHoldTone(nullable(Connection.class)); } @Test @SmallTest public void testCallRestrictedDisconnect() { doReturn(true).when(mSST.mRestrictedState).isCsRestricted(); assertEquals(DisconnectCause.CS_RESTRICTED, mCTUT.getDisconnectCauseFromReasonInfo( new ImsReasonInfo(ImsReasonInfo.CODE_UNSPECIFIED, 0), Call.State.ACTIVE)); } @Test @SmallTest public void testCallRestrictedEmergencyDisconnect() { doReturn(true).when(mSST.mRestrictedState).isCsEmergencyRestricted(); assertEquals(DisconnectCause.CS_RESTRICTED_EMERGENCY, mCTUT.getDisconnectCauseFromReasonInfo( new ImsReasonInfo(ImsReasonInfo.CODE_UNSPECIFIED, 0), Call.State.ACTIVE)); } @Test @SmallTest public void testCallRestrictedNormal() { doReturn(true).when(mSST.mRestrictedState).isCsNormalRestricted(); assertEquals(DisconnectCause.CS_RESTRICTED_NORMAL, mCTUT.getDisconnectCauseFromReasonInfo( new ImsReasonInfo(ImsReasonInfo.CODE_UNSPECIFIED, 0), Call.State.ACTIVE)); } } Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +13 −0 Original line number Diff line number Diff line Loading @@ -2101,6 +2101,19 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { case ImsReasonInfo.CODE_UNOBTAINABLE_NUMBER: return DisconnectCause.UNOBTAINABLE_NUMBER; case ImsReasonInfo.CODE_UNSPECIFIED: if (mPhone.getDefaultPhone().getServiceStateTracker().mRestrictedState .isCsRestricted()) { return DisconnectCause.CS_RESTRICTED; } else if (mPhone.getDefaultPhone().getServiceStateTracker().mRestrictedState .isCsEmergencyRestricted()) { return DisconnectCause.CS_RESTRICTED_EMERGENCY; } else if (mPhone.getDefaultPhone().getServiceStateTracker().mRestrictedState .isCsNormalRestricted()) { return DisconnectCause.CS_RESTRICTED_NORMAL; } break; default: } Loading
tests/telephonytests/src/com/android/internal/telephony/TelephonyTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,8 @@ public abstract class TelephonyTest { protected SubscriptionInfoUpdater mSubInfoRecordUpdater; @Mock protected LocaleTracker mLocaleTracker; @Mock protected RestrictedState mRestrictedState; protected ImsCallProfile mImsCallProfile; protected TelephonyManager mTelephonyManager; Loading Loading @@ -464,6 +466,7 @@ public abstract class TelephonyTest { nullable(Intent[].class), nullable(String[].class), anyInt(), nullable(Bundle.class), anyInt()); mSST.mSS = mServiceState; mSST.mRestrictedState = mRestrictedState; mServiceManagerMockedServices.put("connectivity_metrics_logger", mConnMetLoggerBinder); //SIM Loading
tests/telephonytests/src/com/android/internal/telephony/imsphone/ImsPhoneCallTrackerTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -812,4 +812,31 @@ public class ImsPhoneCallTrackerTest extends TelephonyTest { } verify(mImsPhone, times(1)).startOnHoldTone(nullable(Connection.class)); } @Test @SmallTest public void testCallRestrictedDisconnect() { doReturn(true).when(mSST.mRestrictedState).isCsRestricted(); assertEquals(DisconnectCause.CS_RESTRICTED, mCTUT.getDisconnectCauseFromReasonInfo( new ImsReasonInfo(ImsReasonInfo.CODE_UNSPECIFIED, 0), Call.State.ACTIVE)); } @Test @SmallTest public void testCallRestrictedEmergencyDisconnect() { doReturn(true).when(mSST.mRestrictedState).isCsEmergencyRestricted(); assertEquals(DisconnectCause.CS_RESTRICTED_EMERGENCY, mCTUT.getDisconnectCauseFromReasonInfo( new ImsReasonInfo(ImsReasonInfo.CODE_UNSPECIFIED, 0), Call.State.ACTIVE)); } @Test @SmallTest public void testCallRestrictedNormal() { doReturn(true).when(mSST.mRestrictedState).isCsNormalRestricted(); assertEquals(DisconnectCause.CS_RESTRICTED_NORMAL, mCTUT.getDisconnectCauseFromReasonInfo( new ImsReasonInfo(ImsReasonInfo.CODE_UNSPECIFIED, 0), Call.State.ACTIVE)); } }