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

Commit 7c22858b authored by Wink Saville's avatar Wink Saville
Browse files

Fix 3G connectivity bug 3513741.

ServiceStateTracker the registerForDataConnectionDetached needed to
test for !STATE_IN_SERVICE so that the other values for state also cause
the detached notifciation.

CdmaServiceStateTracker needed to use the ServiceStateTracker lists
and not the cdma specific lists for registration, which are now deleted.
Also removed an unused import.

CdmaLteServiceStateTracker cannot use the deleted cdma specific
registration lists.


Bug: 3513741
Change-Id: I6b2da62714ed598d954f0c68f738ded0f385ade2
parent 8e0c70f3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -320,7 +320,7 @@ public abstract class ServiceStateTracker extends Handler {
        Registrant r = new Registrant(h, what, obj);
        mDetachedRegistrants.add(r);

        if (getCurrentDataConnectionState() == ServiceState.STATE_OUT_OF_SERVICE) {
        if (getCurrentDataConnectionState() != ServiceState.STATE_IN_SERVICE) {
            r.notifyRegistrant();
        }
    }
+0 −2
Original line number Diff line number Diff line
@@ -387,12 +387,10 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker {
        }

        if (hasCdmaDataConnectionAttached) {
            cdmaDataConnectionAttachedRegistrants.notifyRegistrants();
            mAttachedRegistrants.notifyRegistrants();
        }

        if (hasCdmaDataConnectionDetached) {
            cdmaDataConnectionDetachedRegistrants.notifyRegistrants();
            mDetachedRegistrants.notifyRegistrants();
        }

+2 −6
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.internal.telephony.cdma;

import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC;

import com.android.internal.telephony.CommandException;
import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.DataConnectionTracker;
@@ -102,8 +100,6 @@ public class CdmaServiceStateTracker extends ServiceStateTracker {
    protected int cdmaDataConnectionState = ServiceState.STATE_OUT_OF_SERVICE;
    protected int newCdmaDataConnectionState = ServiceState.STATE_OUT_OF_SERVICE;
    protected int mRegistrationState = -1;
    protected RegistrantList cdmaDataConnectionAttachedRegistrants = new RegistrantList();
    protected RegistrantList cdmaDataConnectionDetachedRegistrants = new RegistrantList();
    protected RegistrantList cdmaForSubscriptionInfoReadyRegistrants = new RegistrantList();

    /**
@@ -1098,11 +1094,11 @@ public class CdmaServiceStateTracker extends ServiceStateTracker {
        }

        if (hasCdmaDataConnectionAttached) {
            cdmaDataConnectionAttachedRegistrants.notifyRegistrants();
            mAttachedRegistrants.notifyRegistrants();
        }

        if (hasCdmaDataConnectionDetached) {
            cdmaDataConnectionDetachedRegistrants.notifyRegistrants();
            mDetachedRegistrants.notifyRegistrants();
        }

        if (hasCdmaDataConnectionChanged || hasNetworkTypeChanged) {