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

Commit 23002282 authored by Jordan Liu's avatar Jordan Liu Committed by android-build-merger
Browse files

Merge "IMS: Handle IMS Reason CODE_FDN_BLOCKED" am: 415158fb am: 1d704768

am: 26990670

Change-Id: I6e16d68579d636eadbaa2bc0d01e8ac4cb567e3b
parents 1da7e640 26990670
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1038,6 +1038,9 @@ public class ImsPhone extends ImsPhoneBase {
                break;
            case ImsReasonInfo.CODE_UT_SERVICE_UNAVAILABLE:
                error = CommandException.Error.RADIO_NOT_AVAILABLE;
                break;
            case ImsReasonInfo.CODE_FDN_BLOCKED:
                error = CommandException.Error.FDN_CHECK_FAILURE;
            default:
                break;
        }
+29 −41
Original line number Diff line number Diff line
@@ -1172,6 +1172,14 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
    }

    private CharSequence getErrorMessage(AsyncResult ar) {
        if (ar.exception instanceof CommandException) {
            CommandException.Error err = ((CommandException) (ar.exception)).getCommandError();
            if (err == CommandException.Error.FDN_CHECK_FAILURE) {
                Rlog.i(LOG_TAG, "FDN_CHECK_FAILURE");
                return mContext.getText(com.android.internal.R.string.mmiFdnError);
            }
        }

        return mContext.getText(com.android.internal.R.string.mmiError);
    }

@@ -1216,18 +1224,15 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
                if (err.getCommandError() == CommandException.Error.PASSWORD_INCORRECT) {
                    sb.append(mContext.getText(
                            com.android.internal.R.string.passwordIncorrect));
                } else if (err.getCommandError() == CommandException.Error.FDN_CHECK_FAILURE) {
                    sb.append(mContext.getText(com.android.internal.R.string.mmiFdnError));
                } else if (err.getMessage() != null) {
                    sb.append(err.getMessage());
                } else {
                    sb.append(mContext.getText(com.android.internal.R.string.mmiError));
                }
            } else {
                ImsException error = (ImsException) ar.exception;
                if (error.getMessage() != null) {
                    sb.append(error.getMessage());
                } else {
                    sb.append(getErrorMessage(ar));
                }
            } else if (ar.exception instanceof ImsException) {
                sb.append(getImsErrorMessage(ar));
            }
        } else if (isActivate()) {
            mState = State.COMPLETE;
@@ -1360,12 +1365,7 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
            mState = State.FAILED;

            if (ar.exception instanceof ImsException) {
                ImsException error = (ImsException) ar.exception;
                if (error.getMessage() != null) {
                    sb.append(error.getMessage());
                } else {
                    sb.append(getErrorMessage(ar));
                }
                sb.append(getImsErrorMessage(ar));
            }
            else {
                sb.append(getErrorMessage(ar));
@@ -1421,21 +1421,14 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
        StringBuilder sb = new StringBuilder(getScString());
        sb.append("\n");

        if (ar.exception != null) {
        mState = State.FAILED;

        if (ar.exception != null) {
            if (ar.exception instanceof ImsException) {
                ImsException error = (ImsException) ar.exception;
                if (error.getMessage() != null) {
                    sb.append(error.getMessage());
                } else {
                    sb.append(getErrorMessage(ar));
                }
                sb.append(getImsErrorMessage(ar));
            } else {
                sb.append(getErrorMessage(ar));
            }
        } else {
            mState = State.FAILED;
            ImsSsInfo ssInfo = null;
            if (ar.result instanceof Bundle) {
                Rlog.d(LOG_TAG, "onSuppSvcQueryComplete: Received CLIP/COLP/COLR Response.");
@@ -1486,12 +1479,7 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
            mState = State.FAILED;

            if (ar.exception instanceof ImsException) {
                ImsException error = (ImsException) ar.exception;
                if (error.getMessage() != null) {
                    sb.append(error.getMessage());
                } else {
                    sb.append(getErrorMessage(ar));
                }
                sb.append(getImsErrorMessage(ar));
            } else {
                sb.append(getErrorMessage(ar));
            }
@@ -1525,14 +1513,8 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
        mState = State.FAILED;

        if (ar.exception != null) {

            if (ar.exception instanceof ImsException) {
                ImsException error = (ImsException) ar.exception;
                if (error.getMessage() != null) {
                    sb.append(error.getMessage());
                } else {
                    sb.append(getErrorMessage(ar));
                }
                sb.append(getImsErrorMessage(ar));
            }
        } else {
            Bundle ssInfo = (Bundle) ar.result;
@@ -1623,12 +1605,7 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
            mState = State.FAILED;

            if (ar.exception instanceof ImsException) {
                ImsException error = (ImsException) ar.exception;
                if (error.getMessage() != null) {
                    sb.append(error.getMessage());
                } else {
                    sb.append(getErrorMessage(ar));
                }
                sb.append(getImsErrorMessage(ar));
            } else {
                sb.append(getErrorMessage(ar));
            }
@@ -1676,6 +1653,17 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
        return sb;
    }

    private CharSequence getImsErrorMessage(AsyncResult ar) {
        ImsException error = (ImsException) ar.exception;
        if (error.getCode() == ImsReasonInfo.CODE_FDN_BLOCKED) {
            return mContext.getText(com.android.internal.R.string.mmiFdnError);
        } else if (error.getMessage() != null) {
            return error.getMessage();
        } else {
            return getErrorMessage(ar);
        }
    }

    @Override
    public ResultReceiver getUssdCallbackReceiver() {
        return this.mCallbackReceiver;