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

Commit 376796f2 authored by Tyler Gunn's avatar Tyler Gunn Committed by android-build-merger
Browse files

Merge "Always send USSD codes over the CS pipe."

am: bd7d5693

Change-Id: Idc3da0d6c3b6d2c1eb8e2bc4b5d4abccddd6e45e
parents bd676f24 bd7d5693
Loading
Loading
Loading
Loading
+5 −15
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.internal.telephony.imsphone;

import static android.telephony.ServiceState.STATE_IN_SERVICE;

import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_DATA;
import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_DATA_ASYNC;
import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_DATA_SYNC;
@@ -1009,19 +1007,11 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode {
                    throw new RuntimeException ("Invalid or Unsupported MMI Code");
                }
            } else if (mPoundString != null) {
                // We'll normally send USSD over the CS pipe, but if it happens that the CS phone
                // is out of service, we'll just try over IMS instead.
                if (mPhone.getDefaultPhone().getServiceStateTracker().mSS.getState()
                        == STATE_IN_SERVICE) {
                // USSD codes are not supported over IMS due to modem limitations; send over the CS
                // pipe instead.  This should be fixed in the future.
                Rlog.i(LOG_TAG, "processCode: Sending ussd string '"
                        + Rlog.pii(LOG_TAG, mPoundString) + "' over CS pipe.");
                throw new CallStateException(Phone.CS_FALLBACK);
                } else {
                    Rlog.i(LOG_TAG, "processCode: CS is out of service, sending ussd string '"
                            + Rlog.pii(LOG_TAG, mPoundString) + "' over IMS pipe.");
                    sendUssd(mPoundString);
                }

            } else {
                Rlog.d(LOG_TAG, "processCode: invalid or unsupported MMI");
                throw new RuntimeException ("Invalid or Unsupported MMI Code");