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

Commit 5ddb6ec3 authored by fionaxu's avatar fionaxu Committed by Chen Xu
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 ff5b1b9f
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -152,14 +152,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);