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

Commit a0042c85 authored by Brad Ebinger's avatar Brad Ebinger
Browse files

Initialization causes IMS to deregister

When the ImsPhone is initialized, it calls
ImsManager#updateImsServiceConfig before the CarrierConfig
has loaded. This causes telephony to signal the radio to
deregister IMS and then register again once the CarrierConfig
is loaded.

This change removes the updateImsServiceConfig calls during
initialization.

Bug: 37763722
Test: Telephony unit tests and analyzing logs
Merged-In: I40cd561055a85a473d1827cef0f8e2e1c6e1a665
Change-Id: I762ba2a23cb0cae88af8256d3903a6852cface68
parent ee1d6fd1
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -553,7 +553,6 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
                if (imsManager.isDynamicBinding() || imsManager.isServiceAvailable()) {
                    mImsServiceReady = true;
                    updateImsPhone();
                    ImsManager.updateImsServiceConfig(mContext, mPhoneId, false);
                }
            }
        }
+5 −1
Original line number Diff line number Diff line
@@ -3307,7 +3307,11 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
            mShouldUpdateImsConfigOnDisconnect = false;
        }

        if (!mShouldUpdateImsConfigOnDisconnect) {

        // We do not want to update the ImsConfig for REASON_REGISTERED, since it can happen before
        // the carrier config has loaded and will deregister IMS.
        if (!mShouldUpdateImsConfigOnDisconnect
                && reason != DataEnabledSettings.REASON_REGISTERED) {
            // This will call into updateVideoCallFeatureValue and eventually all clients will be
            // asynchronously notified that the availability of VT over LTE has changed.
            ImsManager.updateImsServiceConfig(mPhone.getContext(), mPhone.getPhoneId(), true);