/*package*/ void hangup(GsmConnection conn) throws CallStateException { if (conn.owner != this) { throw new CallStateException( "GsmConnection " + conn + "does not belong to GsmCallTracker " + this); } if (conn == pendingMO) { // We're hanging up an outgoing call that doesn't have it's // GSM index assigned yet if (Phone.DEBUG_PHONE) log("hangup: set hangupPendingMO to true"); hangupPendingMO = true; } else { try { cm.hangupConnection(conn.getGSMIndex(), obtainCompleteMessage()); } catch (CallStateException ex) { // Ignore "connection not found" // Call may have hung up already Rlog.w(LOG_TAG, "GsmCallTracker WARN: hangup() on absent connection " + conn); } } conn.onHangupLocal(); }