FileDocCategorySizeDatePackage
DcController.javaAPI DocAndroid 5.1 API18973Thu Mar 12 22:22:54 GMT 2015com.android.internal.telephony.dataconnection

DcController

public class DcController extends com.android.internal.util.StateMachine
Data Connection Controller which is a package visible class and controls multiple data connections. For instance listening for unsolicited messages and then demultiplexing them to the appropriate DC.

Fields Summary
private static final boolean
DBG
private static final boolean
VDBG
private com.android.internal.telephony.PhoneBase
mPhone
private DcTrackerBase
mDct
private DcTesterDeactivateAll
mDcTesterDeactivateAll
ArrayList
mDcListAll
private HashMap
mDcListActiveByCid
static final int
DATA_CONNECTION_ACTIVE_PH_LINK_INACTIVE
Constants for the data connection activity: physical link down/up TODO: Move to RILConstants.java
static final int
DATA_CONNECTION_ACTIVE_PH_LINK_DORMANT
static final int
DATA_CONNECTION_ACTIVE_PH_LINK_UP
static final int
DATA_CONNECTION_ACTIVE_UNKNOWN
int
mOverallDataConnectionActiveState
private DccDefaultState
mDccDefaultState
Constructors Summary
private DcController(String name, com.android.internal.telephony.PhoneBase phone, DcTrackerBase dct, android.os.Handler handler)
Constructor.

param
name to be used for the Controller
param
phone the phone associated with Dcc and Dct
param
dct the DataConnectionTracker associated with Dcc
param
handler defines the thread/looper to be used with Dcc


                                            
          
              
        super(name, handler);
        setLogRecSize(300);
        log("E ctor");
        mPhone = phone;
        mDct = dct;
        addState(mDccDefaultState);
        setInitialState(mDccDefaultState);
        log("X ctor");
    
Methods Summary
voidaddActiveDcByCid(DataConnection dc)

        if (DBG && dc.mCid < 0) {
            log("addActiveDcByCid dc.mCid < 0 dc=" + dc);
        }
        mDcListActiveByCid.put(dc.mCid, dc);
    
voidaddDc(DataConnection dc)

        mDcListAll.add(dc);
    
voiddispose()

        log("dispose: call quiteNow()");
        quitNow();
    
public voiddump(java.io.FileDescriptor fd, java.io.PrintWriter pw, java.lang.String[] args)

        super.dump(fd, pw, args);
        pw.println(" mPhone=" + mPhone);
        pw.println(" mDcListAll=" + mDcListAll);
        pw.println(" mDcListActiveByCid=" + mDcListActiveByCid);
    
protected java.lang.StringgetWhatToString(int what)

return
the string for msg.what as our info.

        String info = null;
        info = DataConnection.cmdToString(what);
        if (info == null) {
            info = DcAsyncChannel.cmdToString(what);
        }
        return info;
    
protected voidlog(java.lang.String s)

        Rlog.d(getName(), s);
    
protected voidloge(java.lang.String s)

        Rlog.e(getName(), s);
    
private voidlr(java.lang.String s)
lr is short name for logAndAddLogRec

param
s

        logAndAddLogRec(s);
    
static com.android.internal.telephony.dataconnection.DcControllermakeDcc(com.android.internal.telephony.PhoneBase phone, DcTrackerBase dct, android.os.Handler handler)

        DcController dcc = new DcController("Dcc", phone, dct, handler);
        dcc.start();
        return dcc;
    
voidremoveActiveDcByCid(DataConnection dc)

        DataConnection removedDc = mDcListActiveByCid.remove(dc.mCid);
        if (DBG && removedDc == null) {
            log("removeActiveDcByCid removedDc=null dc=" + dc);
        }
    
voidremoveDc(DataConnection dc)

        mDcListActiveByCid.remove(dc.mCid);
        mDcListAll.remove(dc);
    
public java.lang.StringtoString()

        return "mDcListAll=" + mDcListAll + " mDcListActiveByCid=" + mDcListActiveByCid;