Bug 794766 - B2G Telephony: phone is hanging after a busy call is released by operator. r=philikon

This commit is contained in:
Hsin-Yi Tsai 2012-09-27 20:19:56 +08:00
parent 3f2fdd881f
commit d882614965
2 changed files with 31 additions and 8 deletions

View File

@ -1669,7 +1669,17 @@ const GECKO_QAN_STATE_UNKNOWN = null;
const CALL_FAIL_UNOBTAINABLE_NUMBER = 1;
const CALL_FAIL_NORMAL = 16;
const CALL_FAIL_BUSY = 17;
const CALL_FAIL_NO_USER_RESPONDING = 18;
const CALL_FAIL_USER_ALERTING = 19;
const CALL_FAIL_CALL_REJECTED = 21;
const CALL_FAIL_NUMBER_CHANGED = 22;
const CALL_FAIL_CALL_PRE_EMPTION = 25;
const CALL_FAIL_DEST_OUT_OF_ORDER = 27;
const CALL_FAIL_INVALID_FORMAT = 28;
const CALL_FAIL_FACILITY_REJECTED = 29;
const CALL_FAIL_CONGESTION = 34;
const CALL_FAIL_NETWORK_OUT_OF_ORDER = 38;
const CALL_FAIL_NETWORK_TEMP_FAILURE = 41;
const CALL_FAIL_ACM_LIMIT_EXCEEDED = 68;
const CALL_FAIL_CALL_BARRED = 240;
const CALL_FAIL_FDN_BLOCKED = 241;
@ -1716,7 +1726,17 @@ NETWORK_CREG_TO_GECKO_MOBILE_CONNECTION_STATE[NETWORK_CREG_STATE_UNKNOWN_EMERGEN
const GECKO_CALL_ERROR_BAD_NUMBER = "BadNumberError";
const GECKO_CALL_ERROR_NORMAL_CALL_CLEARING = "NormalCallClearingError";
const GECKO_CALL_ERROR_BUSY = "BusyError";
const GECKO_CALL_ERROR_NO_USER_RESPONDING = "NoUserRespondingError";
const GECKO_CALL_ERROR_USER_ALERTING = "UserAlertingNoAnswerError";
const GECKO_CALL_ERROR_REJECTED = "CallRejectedError";
const GECKO_CALL_ERROR_NUMBER_CHANGED = "NumberChangedError";
const GECKO_CALL_ERROR_PRE_EMPTION = "PreEmptionError";
const GECKO_CALL_ERROR_DEST_OUT_OF_ORDER = "DestinationOutOfOrderError";
const GECKO_CALL_ERROR_INVALID_NUMBER_FORMAT = "InvalidNumberFormatError";
const GECKO_CALL_ERROR_FACILITY_REJECTED = "FacilityRejectedError";
const GECKO_CALL_ERROR_CONGESTION = "CongestionError";
const GECKO_CALL_ERROR_NETWORK_OUT_OF_ORDER = "NetworkOutOfOrderError";
const GECKO_CALL_ERROR_NETWORK_TEMP_FAILURE = "NetworkTempFailureError";
const GECKO_CALL_ERROR_INCOMING_CALL_EXCEEDED = "IncomingCallExceededError";
const GECKO_CALL_ERROR_BARRED = "BarredError";
const GECKO_CALL_ERROR_FDN_BLOCKED = "FDNBlockedError";
@ -1728,7 +1748,17 @@ const RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR = {};
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_UNOBTAINABLE_NUMBER] = GECKO_CALL_ERROR_BAD_NUMBER;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_NORMAL] = GECKO_CALL_ERROR_NORMAL_CALL_CLEARING;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_BUSY] = GECKO_CALL_ERROR_BUSY;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_NO_USER_RESPONDING] = GECKO_CALL_ERROR_NO_USER_RESPONDING;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_USER_ALERTING] = GECKO_CALL_ERROR_USER_ALERTING;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_CALL_REJECTED] = GECKO_CALL_ERROR_REJECTED;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_NUMBER_CHANGED] = GECKO_CALL_ERROR_NUMBER_CHANGED;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_CALL_PRE_EMPTION] = GECKO_CALL_ERROR_PRE_EMPTION;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_DEST_OUT_OF_ORDER] = GECKO_CALL_ERROR_DEST_OUT_OF_ORDER;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_INVALID_FORMAT] = GECKO_CALL_ERROR_INVALID_NUMBER_FORMAT;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_FACILITY_REJECTED] = GECKO_CALL_ERROR_FACILITY_REJECTED;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_CONGESTION] = GECKO_CALL_ERROR_CONGESTION;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_NETWORK_OUT_OF_ORDER]= GECKO_CALL_ERROR_NETWORK_OUT_OF_ORDER;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_NETWORK_TEMP_FAILURE]= GECKO_CALL_ERROR_NETWORK_TEMP_FAILURE;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_ACM_LIMIT_EXCEEDED] = GECKO_CALL_ERROR_INCOMING_CALL_EXCEEDED;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_CALL_BARRED] = GECKO_CALL_ERROR_BARRED;
RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[CALL_FAIL_FDN_BLOCKED] = GECKO_CALL_ERROR_FDN_BLOCKED;

View File

@ -3828,14 +3828,7 @@ RIL[REQUEST_LAST_CALL_FAIL_CAUSE] = function REQUEST_LAST_CALL_FAIL_CAUSE(length
this._handleChangedCallState(options);
this._handleDisconnectedCall(options);
break;
case CALL_FAIL_UNOBTAINABLE_NUMBER:
case CALL_FAIL_CONGESTION:
case CALL_FAIL_ACM_LIMIT_EXCEEDED:
case CALL_FAIL_CALL_BARRED:
case CALL_FAIL_FDN_BLOCKED:
case CALL_FAIL_IMSI_UNKNOWN_IN_VLR:
case CALL_FAIL_IMEI_NOT_ACCEPTED:
case CALL_FAIL_ERROR_UNSPECIFIED:
default:
options.rilMessageType = "callError";
options.error = RIL_CALL_FAILCAUSE_TO_GECKO_CALL_ERROR[failCause];
this.sendDOMMessage(options);