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

Commit 736d14b9 authored by Hall Liu's avatar Hall Liu Committed by Automerger Merge Worker
Browse files

Merge "Functionality for knowing if USSD is network initiated." into rvc-dev am: 205b6dde

Change-Id: Id7a485c08563608913f1743a721bff940a4921b4
parents 357d55fb 205b6dde
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -2541,7 +2541,7 @@ public class GsmCdmaPhone extends Phone {
            } else {
            } else {
                found.onUssdFinished(ussdMessage, isUssdRequest);
                found.onUssdFinished(ussdMessage, isUssdRequest);
            }
            }
        } else if (!isUssdError && ussdMessage != null) {
        } else if (!isUssdError && !TextUtils.isEmpty(ussdMessage)) {
            // pending USSD not found
            // pending USSD not found
            // The network may initiate its own USSD request
            // The network may initiate its own USSD request


+5 −0
Original line number Original line Diff line number Diff line
@@ -69,6 +69,11 @@ public interface MmiCode
     */
     */
    public boolean isUssdRequest();
    public boolean isUssdRequest();


    /**
     * @return true if the request was initiated USSD by the network.
     */
    boolean isNetworkInitiatedUssd();

    /**
    /**
     * @return true if an outstanding request can be canceled.
     * @return true if an outstanding request can be canceled.
     */
     */
+6 −0
Original line number Original line Diff line number Diff line
@@ -380,4 +380,10 @@ public final class CdmaMmiCode extends Handler implements MmiCode {
    public ResultReceiver getUssdCallbackReceiver() {
    public ResultReceiver getUssdCallbackReceiver() {
        return null;
        return null;
    }
    }

    @Override
    public boolean isNetworkInitiatedUssd() {
        Rlog.w(LOG_TAG, "isNetworkInitiated is not implemented in CdmaMmiCode");
        return false;
    }
}
}
+9 −0
Original line number Original line Diff line number Diff line
@@ -165,6 +165,9 @@ public final class GsmMmiCode extends Handler implements MmiCode {
    private boolean mIsUssdRequest;
    private boolean mIsUssdRequest;


    private boolean mIsCallFwdReg;
    private boolean mIsCallFwdReg;

    private boolean mIsNetworkInitiatedUSSD;

    State mState = State.PENDING;
    State mState = State.PENDING;
    CharSequence mMessage;
    CharSequence mMessage;
    private boolean mIsSsInfo = false;
    private boolean mIsSsInfo = false;
@@ -315,6 +318,7 @@ public final class GsmMmiCode extends Handler implements MmiCode {


        ret.mMessage = ussdMessage;
        ret.mMessage = ussdMessage;
        ret.mIsUssdRequest = isUssdRequest;
        ret.mIsUssdRequest = isUssdRequest;
        ret.mIsNetworkInitiatedUSSD = true;


        // If it's a request, set to PENDING so that it's cancelable.
        // If it's a request, set to PENDING so that it's cancelable.
        if (isUssdRequest) {
        if (isUssdRequest) {
@@ -682,6 +686,11 @@ public final class GsmMmiCode extends Handler implements MmiCode {
        return mIsPendingUSSD;
        return mIsPendingUSSD;
    }
    }


    @Override
    public boolean isNetworkInitiatedUssd() {
        return mIsNetworkInitiatedUSSD;
    }

    //***** Instance Methods
    //***** Instance Methods


    /** Does this dial string contain a structured or unstructured MMI code? */
    /** Does this dial string contain a structured or unstructured MMI code? */
+1 −1
Original line number Original line Diff line number Diff line
@@ -1357,7 +1357,7 @@ public class ImsPhone extends ImsPhoneBase {
            } else {
            } else {
                found.onUssdFinished(ussdMessage, isUssdRequest);
                found.onUssdFinished(ussdMessage, isUssdRequest);
            }
            }
        } else if (!isUssdError && ussdMessage != null) {
        } else if (!isUssdError && !TextUtils.isEmpty(ussdMessage)) {
                // pending USSD not found
                // pending USSD not found
                // The network may initiate its own USSD request
                // The network may initiate its own USSD request


Loading