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

Commit 5429d276 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: I1d10b9f8d0cc97ad88355ef9e16d1d895b5cab4b
parents 493d3f80 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