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

Commit daca5804 authored by fionaxu's avatar fionaxu
Browse files

add NullPointerCheck for serviceStateTracker

ServiceStateTracker is not created inside GsmCdmaPhone, thus there is no
SST inside SipPhone. Add a null pointer check inside CarrierActionAgent.
In the long term we should move CarrierActionSignal and
CarrierSignalAgent from Phone to GsmCdmaPhone

Bug: 64104240
Test: Manaul test by making a SIP call
Change-Id: Ia48ff128c9656446058816043cc825a1f60c8a20
parent 36a94115
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -162,14 +162,18 @@ public class CarrierActionAgent extends Handler {
                    mSettingsObserver.observe(
                            Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON),
                            EVENT_APM_SETTINGS_CHANGED);
                    if (mPhone.getServiceStateTracker() != null) {
                        mPhone.getServiceStateTracker().registerForDataRoamingOff(
                                this, EVENT_DATA_ROAMING_OFF, null, false);
                    }
                } else if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(iccState)) {
                    log("EVENT_SIM_STATE_CHANGED status: " + iccState);
                    carrierActionReset();
                    mSettingsObserver.unobserve();
                    if (mPhone.getServiceStateTracker() != null) {
                        mPhone.getServiceStateTracker().unregisterForDataRoamingOff(this);
                    }
                }
                break;
            default:
                loge("Unknown carrier action: " + msg.what);
+1 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ public class CarrierActionAgentTest extends TelephonyTest {
        intent.putExtra(IccCardConstants.INTENT_KEY_ICC_STATE,
                IccCardConstants.INTENT_VALUE_ICC_LOADED);
        mContext.sendBroadcast(intent);
        waitForMs(100);
        waitForMs(200);

        // carrier actions triggered from sim loading
        ArgumentCaptor<Message> message = ArgumentCaptor.forClass(Message.class);