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

Commit bfb332a7 authored by Jordan Liu's avatar Jordan Liu Committed by Gerrit Code Review
Browse files

Merge "Fix to load CarrierConfig after SUB is generated"

parents c21f3c59 7cb0c75c
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ import android.telephony.ims.feature.ImsFeature;
import android.telephony.ims.feature.MmTelFeature;
import android.telephony.ims.stub.ImsConfigImplBase;
import android.telephony.ims.stub.ImsRegistrationImplBase;
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
@@ -265,6 +266,21 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                }
            };

    private final OnSubscriptionsChangedListener mOnSubscriptionsChangedListener =
            new OnSubscriptionsChangedListener() {
                final AtomicInteger mPreviousSubId =
                        new AtomicInteger(SubscriptionManager.INVALID_SUBSCRIPTION_ID);

                @Override
                public void onSubscriptionsChanged() {
                    int subId = mPhone.getSubId();
                    if (mPreviousSubId.getAndSet(subId) != subId
                            && SubscriptionController.getInstance().isActiveSubId(subId)) {
                        cacheCarrierConfiguration(subId);
                    }
                }
            };

    //***** Constants

    static final int MAX_CONNECTIONS = 7;
@@ -716,6 +732,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
        intentfilter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
        intentfilter.addAction(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER);
        mPhone.getContext().registerReceiver(mReceiver, intentfilter);
        SubscriptionManager.from(mPhone.getContext())
            .addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
        cacheCarrierConfiguration(mPhone.getSubId());

        mPhone.getDefaultPhone().registerForDataEnabledChanged(
@@ -857,6 +875,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
        mPhone.getContext().unregisterReceiver(mReceiver);
        mPhone.getDefaultPhone().unregisterForDataEnabledChanged(this);
        mImsManagerConnector.disconnect();
        SubscriptionManager.from(mPhone.getContext())
            .removeOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
    }

    @Override