diff options
author | Tyler Gunn <tgunn@google.com> | 2017-08-01 13:52:28 -0700 |
---|---|---|
committer | Tyler Gunn <tgunn@google.com> | 2017-08-02 13:49:45 -0700 |
commit | fe215a7ee5ad268048410d545c0436b7d4a6bdd7 (patch) | |
tree | a680ebfb5b2ed73468fe21f3b1bcd85869a3818d | |
parent | 2434d4366485eda5c93a111d1f7c20241a384c85 (diff) | |
download | telephony-fe215a7ee5ad268048410d545c0436b7d4a6bdd7.tar.gz |
Ignore phone number changes for outgoing calls.
Similar to b/63743426 (which was for IMS), ignoring phone number changes
reported by the modem for outgoing calls.
Test: Manual
Change-Id: Id050e9086f17530457f59b64b510116ede866393
Fixes: 64192519
4 files changed, 24 insertions, 11 deletions
diff --git a/src/java/com/android/internal/telephony/Connection.java b/src/java/com/android/internal/telephony/Connection.java index dc53172202..bb92692187 100644 --- a/src/java/com/android/internal/telephony/Connection.java +++ b/src/java/com/android/internal/telephony/Connection.java @@ -388,6 +388,15 @@ public abstract class Connection { } /** + * Sets whether this call is an incoming call or not. + * @param isIncoming {@code true} if the call is an incoming call, {@code false} if it is an + * outgoing call. + */ + public void setIsIncoming(boolean isIncoming) { + mIsIncoming = isIncoming; + } + + /** * If this Connection is connected, then it is associated with * a Call. * diff --git a/src/java/com/android/internal/telephony/GsmCdmaConnection.java b/src/java/com/android/internal/telephony/GsmCdmaConnection.java index 1b453e6806..330e50ba89 100644 --- a/src/java/com/android/internal/telephony/GsmCdmaConnection.java +++ b/src/java/com/android/internal/telephony/GsmCdmaConnection.java @@ -614,8 +614,7 @@ public class GsmCdmaConnection extends Connection { //Ignore dc.number and dc.name in case of a handover connection if (isPhoneTypeGsm() && mOrigConnection != null) { if (Phone.DEBUG_PHONE) log("update: mOrigConnection is not null"); - } else { - log(" mNumberConverted " + mNumberConverted); + } else if (isIncoming()) { if (!equalsBaseDialString(mAddress, dc.number) && (!mNumberConverted || !equalsBaseDialString(mConvertedNumber, dc.number))) { if (Phone.DEBUG_PHONE) log("update: phone # changed!"); diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java index 43d3754263..ba9c965770 100644 --- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java +++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java @@ -236,15 +236,6 @@ public class ImsPhoneConnection extends Connection implements public void dispose() { } - /** - * Sets whether this call is an incoming call or not. - * @param isIncoming {@code true} if the call is an incoming call, {@code false} if it is an - * outgoing call. - */ - public void setIsIncoming(boolean isIncoming) { - mIsIncoming = isIncoming; - } - static boolean equalsHandlesNulls (Object a, Object b) { return (a == null) ? (b == null) : a.equals (b); diff --git a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaConnectionTest.java b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaConnectionTest.java index 01f95d3968..1a4d619b3d 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaConnectionTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaConnectionTest.java @@ -207,9 +207,23 @@ public class GsmCdmaConnectionTest extends TelephonyTest { mDC.state = DriverCall.State.ALERTING; for (String[] testAddress : testAddressMappingSet) { connection = new GsmCdmaConnection(mPhone, testAddress[0], mCT, null, false); + connection.setIsIncoming(true); mDC.number = testAddress[1]; connection.update(mDC); assertEquals(testAddress[2], connection.getAddress()); } } + + /** + * Ensures outgoing calls do not apply address changes. + */ + @Test @SmallTest + public void testAddressUpdateOutgoing() { + mDC.state = DriverCall.State.ALERTING; + connection = new GsmCdmaConnection(mPhone, "12345", mCT, null, false); + connection.setIsIncoming(false); + mDC.number = "678"; + connection.update(mDC); + assertEquals("12345", connection.getAddress()); + } } |