Call resolve

Call exist and there are only three: foregroundcall, backgroundcall, ringingcall

Call的基本状态:IDLE,ACTIVE,HOLDING,DIALING,ALERTING,INCOMING,WAITING,

        DISCONNECTED,DISCONNECTING

CallList: Dialer Call CallList side maintains, if CallList change, the interface will make a response corresponding to the operation

As can be seen in CdmaConnection.java

    private CdmaCall
    parentFromDCState (DriverCall.State state) {
        switch (state) {
            case ACTIVE:
            case DIALING:
            case ALERTING:
                return owner.foregroundCall;
            //break;
            case HOLDING:
                return owner.backgroundCall;
            //break;

            case INCOMING:
            case WAITING:
                return owner.ringingCall;
            //break;
            default:
                throw new RuntimeException("illegal call state: " + state);
        }
    } 


ringingCall: INCOMING used to manage and WAITING call
foregroundCall: to manage DAILING, ALERTING, ACTIVE call
backgroundCall: HOLD for managing calls

Guess you like

Origin www.cnblogs.com/yz123/p/12014921.html