Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5b28287 authored by Grace Jia's avatar Grace Jia
Browse files

Fix NullPointerException in ImsPhone when send EVNET_CALL_RING_CONTINUE

message.

Test: unit test
Bug: 172636744
Change-Id: I27341d20b840bafab394c1b262c3e2549e876100
parent 61ded6f5
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -108,7 +108,6 @@ import com.android.internal.telephony.TelephonyComponentFactory;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.dataconnection.TransportManager;
import com.android.internal.telephony.emergency.EmergencyNumberTracker;
import com.android.internal.telephony.gsm.GsmMmiCode;
import com.android.internal.telephony.gsm.SuppServiceNotification;
import com.android.internal.telephony.metrics.TelephonyMetrics;
import com.android.internal.telephony.metrics.VoiceCallSessionStats;
@@ -1767,7 +1766,7 @@ public class ImsPhone extends ImsPhoneBase {
        AsyncResult ar = (AsyncResult) msg.obj;
        Message onComplete;
        SS ss = null;
        if (ar.userObj instanceof SS) {
        if (ar != null && ar.userObj instanceof SS) {
            ss = (SS) ar.userObj;
        }

+8 −0
Original line number Diff line number Diff line
@@ -126,6 +126,7 @@ public class ImsPhoneTest extends TelephonyTest {
    private static final int EVENT_SUPP_SERVICE_FAILED = 2;
    private static final int EVENT_INCOMING_RING = 3;
    private static final int EVENT_EMERGENCY_CALLBACK_MODE_EXIT = 4;
    private static final int EVENT_CALL_RING_CONTINUE = 15;

    private boolean mIsPhoneUtInEcm = false;

@@ -949,6 +950,13 @@ public class ImsPhoneTest extends TelephonyTest {
        verify(mImsCT).sendUSSD(eq("*135#"), any());
    }

    @Test
    @SmallTest
    public void testHandleMessageCallRingContinue() throws Exception {
        Message m = Message.obtain(mImsPhoneUT.getHandler(), EVENT_CALL_RING_CONTINUE);
        mImsPhoneUT.handleMessage(m);
    }

    private ServiceState getServiceStateDataAndVoice(int rat, int regState, boolean isRoaming) {
        ServiceState ss = new ServiceState();
        ss.setStateOutOfService();