Loading src/java/com/android/internal/telephony/GsmCdmaConnection.java +12 −7 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ import com.android.internal.telephony.uicc.UiccCardApplication; import com.android.telephony.Rlog; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; /** * {@hide} Loading Loading @@ -141,7 +141,10 @@ public class GsmCdmaConnection extends Connection { mAddress = dc.number; setEmergencyCallInfo(mOwner); mForwardedNumber = new ArrayList<String>(Arrays.asList(dc.forwardedNumber)); String forwardedNumber = TextUtils.isEmpty(dc.forwardedNumber) ? null : dc.forwardedNumber; Rlog.i(LOG_TAG, "create, forwardedNumber=" + Rlog.pii(LOG_TAG, forwardedNumber)); mForwardedNumber = forwardedNumber == null ? null : new ArrayList<>(Collections.singletonList(dc.forwardedNumber)); mIsIncoming = dc.isMT; mCreateTime = System.currentTimeMillis(); mCnapName = dc.name; Loading Loading @@ -710,11 +713,13 @@ public class GsmCdmaConnection extends Connection { mOwner.getPhone().getVoiceCallSessionStats().onAudioCodecChanged(this, dc.audioQuality); } ArrayList<String> forwardedNumber = new ArrayList<String>(Arrays.asList(dc.forwardedNumber)); if (!equalsHandlesNulls(mForwardedNumber, forwardedNumber)) { if (Phone.DEBUG_PHONE) log("update: mForwardedNumber, # changed!"); mForwardedNumber = forwardedNumber; String forwardedNumber = TextUtils.isEmpty(dc.forwardedNumber) ? null : dc.forwardedNumber; Rlog.i(LOG_TAG, "update: forwardedNumber=" + Rlog.pii(LOG_TAG, forwardedNumber)); ArrayList<String> forwardedNumbers = forwardedNumber == null ? null : new ArrayList<>(Collections.singletonList(dc.forwardedNumber)); if (!equalsHandlesNulls(mForwardedNumber, forwardedNumbers)) { if (Phone.DEBUG_PHONE) log("update: mForwardedNumber, # changed"); mForwardedNumber = forwardedNumbers; changed = true; } Loading tests/telephonytests/src/com/android/internal/telephony/GsmCdmaConnectionTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -278,4 +278,22 @@ public class GsmCdmaConnectionTest extends TelephonyTest { assertEquals(new ArrayList<String>(Arrays.asList(forwardedNumber)), connection.getForwardedNumber()); } @Test @SmallTest public void testForwardedNumberEmptyNull() { mDC.state = DriverCall.State.INCOMING; mDC.forwardedNumber = ""; connection = new GsmCdmaConnection(mPhone, mDC, mCT, 0); assertNull(connection.getForwardedNumber()); mDC.forwardedNumber = null; connection.update(mDC); assertNull(connection.getForwardedNumber()); mDC.forwardedNumber = null; connection = new GsmCdmaConnection(mPhone, mDC, mCT, 0); assertNull(connection.getForwardedNumber()); mDC.forwardedNumber = ""; connection.update(mDC); assertNull(connection.getForwardedNumber()); } } Loading
src/java/com/android/internal/telephony/GsmCdmaConnection.java +12 −7 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ import com.android.internal.telephony.uicc.UiccCardApplication; import com.android.telephony.Rlog; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; /** * {@hide} Loading Loading @@ -141,7 +141,10 @@ public class GsmCdmaConnection extends Connection { mAddress = dc.number; setEmergencyCallInfo(mOwner); mForwardedNumber = new ArrayList<String>(Arrays.asList(dc.forwardedNumber)); String forwardedNumber = TextUtils.isEmpty(dc.forwardedNumber) ? null : dc.forwardedNumber; Rlog.i(LOG_TAG, "create, forwardedNumber=" + Rlog.pii(LOG_TAG, forwardedNumber)); mForwardedNumber = forwardedNumber == null ? null : new ArrayList<>(Collections.singletonList(dc.forwardedNumber)); mIsIncoming = dc.isMT; mCreateTime = System.currentTimeMillis(); mCnapName = dc.name; Loading Loading @@ -710,11 +713,13 @@ public class GsmCdmaConnection extends Connection { mOwner.getPhone().getVoiceCallSessionStats().onAudioCodecChanged(this, dc.audioQuality); } ArrayList<String> forwardedNumber = new ArrayList<String>(Arrays.asList(dc.forwardedNumber)); if (!equalsHandlesNulls(mForwardedNumber, forwardedNumber)) { if (Phone.DEBUG_PHONE) log("update: mForwardedNumber, # changed!"); mForwardedNumber = forwardedNumber; String forwardedNumber = TextUtils.isEmpty(dc.forwardedNumber) ? null : dc.forwardedNumber; Rlog.i(LOG_TAG, "update: forwardedNumber=" + Rlog.pii(LOG_TAG, forwardedNumber)); ArrayList<String> forwardedNumbers = forwardedNumber == null ? null : new ArrayList<>(Collections.singletonList(dc.forwardedNumber)); if (!equalsHandlesNulls(mForwardedNumber, forwardedNumbers)) { if (Phone.DEBUG_PHONE) log("update: mForwardedNumber, # changed"); mForwardedNumber = forwardedNumbers; changed = true; } Loading
tests/telephonytests/src/com/android/internal/telephony/GsmCdmaConnectionTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -278,4 +278,22 @@ public class GsmCdmaConnectionTest extends TelephonyTest { assertEquals(new ArrayList<String>(Arrays.asList(forwardedNumber)), connection.getForwardedNumber()); } @Test @SmallTest public void testForwardedNumberEmptyNull() { mDC.state = DriverCall.State.INCOMING; mDC.forwardedNumber = ""; connection = new GsmCdmaConnection(mPhone, mDC, mCT, 0); assertNull(connection.getForwardedNumber()); mDC.forwardedNumber = null; connection.update(mDC); assertNull(connection.getForwardedNumber()); mDC.forwardedNumber = null; connection = new GsmCdmaConnection(mPhone, mDC, mCT, 0); assertNull(connection.getForwardedNumber()); mDC.forwardedNumber = ""; connection.update(mDC); assertNull(connection.getForwardedNumber()); } }