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