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 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