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

Commit 41afb061 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Telephony: Release on-demand dds request upon dct dispose."

parents ddc3b9af 4139bd0d
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -301,6 +301,10 @@ public final class DcTracker extends DcTrackerBase {
        ((TelephonyNetworkFactory)mNetworkFactory).updateNetworkCapability(mSubId);
    }

    private void releaseAllNetworkRequests() {
        ((TelephonyNetworkFactory)mNetworkFactory).releaseAllNetworkRequests();
    }

    protected void registerForAllEvents() {
        mPhone.mCi.registerForAvailable(this, DctConstants.EVENT_RADIO_AVAILABLE, null);
        mPhone.mCi.registerForOffOrNotAvailable(this,
@@ -341,6 +345,8 @@ public final class DcTracker extends DcTrackerBase {
    public void dispose() {
        if (DBG) log("GsmDCT.dispose");

        releaseAllNetworkRequests();

        if (mProvisionBroadcastReceiver != null) {
            mPhone.getContext().unregisterReceiver(mProvisionBroadcastReceiver);
            mProvisionBroadcastReceiver = null;
@@ -574,6 +580,19 @@ public final class DcTracker extends DcTrackerBase {
            removeRequestIfFound(networkRequest);
        }

        public void releaseAllNetworkRequests() {
            log("releaseAllNetworkRequests");
            SubscriptionController subController = SubscriptionController.getInstance();
            for (int i = 0; i < mDdsRequests.size(); i++) {
                NetworkRequest nr = mDdsRequests.valueAt(i);
                if (nr != null) {
                    log("Removing request = " + nr);
                    subController.stopOnDemandDataSubscriptionRequest(nr);
                    mDdsRequests.remove(nr.requestId);
                }
            }
        }

        @Override
        protected void log(String s) {
            Log.d("TelephonyNetworkFactory" + mPhone.getSubId(), s);