Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f1fa037 authored by Omkar Kolangade's avatar Omkar Kolangade Committed by Etan Cohen
Browse files

IMS UT Exception and Call Forwarding

Adding handling of ImsException in
ImsPhone, supporting propagation of
network error string to the UI.
Also adding logic to handle
'All' and 'All Conditional' call
forwarding condition types in
call forwarding supplementary
service operations.

Change-Id: Ia623818e6bcd60a832dc07afb53d0c19429e515f
parent b7aff911
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -604,6 +604,8 @@ public class ImsPhone extends ImsPhoneBase {
            case CF_REASON_BUSY: return ImsUtInterface.CDIV_CF_BUSY;
            case CF_REASON_NO_REPLY: return ImsUtInterface.CDIV_CF_NO_REPLY;
            case CF_REASON_NOT_REACHABLE: return ImsUtInterface.CDIV_CF_NOT_REACHABLE;
            case CF_REASON_ALL: return ImsUtInterface.CDIV_CF_ALL;
            case CF_REASON_ALL_CONDITIONAL: return ImsUtInterface.CDIV_CF_ALL_CONDITIONAL;
            default:
                break;
        }
@@ -617,6 +619,8 @@ public class ImsPhone extends ImsPhoneBase {
            case ImsUtInterface.CDIV_CF_BUSY: return CF_REASON_BUSY;
            case ImsUtInterface.CDIV_CF_NO_REPLY: return CF_REASON_NO_REPLY;
            case ImsUtInterface.CDIV_CF_NOT_REACHABLE: return CF_REASON_NOT_REACHABLE;
            case ImsUtInterface.CDIV_CF_ALL: return CF_REASON_ALL;
            case ImsUtInterface.CDIV_CF_ALL_CONDITIONAL: return CF_REASON_ALL_CONDITIONAL;
            default:
                break;
        }
@@ -1036,10 +1040,18 @@ public class ImsPhone extends ImsPhoneBase {
    sendResponse(Message onComplete, Object result, Throwable e) {
        if (onComplete != null) {
            CommandException ex = null;
            ImsException imsEx = null;
            if (e != null) {
                if (e instanceof ImsException) {
                    imsEx = (ImsException) e;
                    AsyncResult.forMessage(onComplete, result, imsEx);
                } else {
                    ex = getCommandException(e);
            }
                    AsyncResult.forMessage(onComplete, result, ex);
                }
            } else {
                AsyncResult.forMessage(onComplete, result, null);
            }
            onComplete.sendToTarget();
        }
    }