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

Commit 205b6dde authored by Hall Liu's avatar Hall Liu Committed by Android (Google) Code Review
Browse files

Merge "Functionality for knowing if USSD is network initiated." into rvc-dev

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

+5 −0
Original line number Diff line number Diff line
@@ -69,6 +69,11 @@ public interface MmiCode
     */
    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.
     */
+6 −0
Original line number Diff line number Diff line
@@ -380,4 +380,10 @@ public final class CdmaMmiCode extends Handler implements MmiCode {
    public ResultReceiver getUssdCallbackReceiver() {
        return null;
    }

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

    private boolean mIsCallFwdReg;

    private boolean mIsNetworkInitiatedUSSD;

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

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

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

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

    //***** Instance Methods

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

Loading