Fix for missing call drop notice in CDMA mode

In case the cdma modem indicates unspecified error as a reason for a
dropped call, then the cause was wrongly being translated to NORMAL call in
DisconnectCause. This has been fixed to report ERROR_UNSPECIFIED as
DisconnectCause in Connection.java.
This commit is contained in:
Satish.Kulkarni
2009-07-07 15:28:11 -05:00
committed by Wink Saville
parent a04aaff2be
commit eafe72a0db
3 changed files with 11 additions and 4 deletions

View File

@@ -56,7 +56,8 @@ public abstract class Connection {
CDMA_RETRY_ORDER, /* requeseted service is rejected, retry delay is set */
CDMA_ACCESS_FAILURE,
CDMA_PREEMPTED,
CDMA_NOT_EMERGENCY /* not an emergency call */
CDMA_NOT_EMERGENCY, /* not an emergency call */
ERROR_UNSPECIFIED
}
Object userData;

View File

@@ -435,8 +435,10 @@ public class CdmaConnection extends Connection {
} else if (phone.mCM.getRadioState() != CommandsInterface.RadioState.NV_READY
&& phone.getIccCard().getState() != RuimCard.State.READY) {
return DisconnectCause.ICC_ERROR;
} else {
} else if (causeCode==CallFailCause.NORMAL_CLEARING) {
return DisconnectCause.NORMAL;
} else {
return DisconnectCause.ERROR_UNSPECIFIED;
}
}
}

View File

@@ -381,10 +381,14 @@ public class GsmConnection extends Connection {
} else if (phone.mSST.rs.isCsNormalRestricted()) {
return DisconnectCause.CS_RESTRICTED_NORMAL;
} else {
return DisconnectCause.NORMAL;
return DisconnectCause.ERROR_UNSPECIFIED;
}
} else {
} else if (causeCode == CallFailCause.NORMAL_CLEARING) {
return DisconnectCause.NORMAL;
} else {
// If nothing else matches, report unknown call drop reason
// to app, not NORMAL call end.
return DisconnectCause.ERROR_UNSPECIFIED;
}
}
}