Loading src/java/com/android/internal/telephony/GsmCdmaPhone.java +8 −3 Original line number Diff line number Diff line Loading @@ -2598,7 +2598,6 @@ public class GsmCdmaPhone extends Phone { * @param mmi MMI that is done */ public void onMMIDone(MmiCode mmi) { /* Only notify complete if it's on the pending list. * Otherwise, it's already been handled (eg, previously canceled). * The exception is cancellation of an incoming USSD-REQUEST, which is Loading @@ -2606,7 +2605,6 @@ public class GsmCdmaPhone extends Phone { */ if (mPendingMMIs.remove(mmi) || (isPhoneTypeGsm() && (mmi.isUssdRequest() || ((GsmMmiCode)mmi).isSsInfo()))) { ResultReceiver receiverCallback = mmi.getUssdCallbackReceiver(); if (receiverCallback != null) { Rlog.i(LOG_TAG, "onMMIDone: invoking callback: " + mmi); Loading Loading @@ -2647,6 +2645,7 @@ public class GsmCdmaPhone extends Phone { if (!isPhoneTypeGsm()) { loge("onIncomingUSSD: not expected on GSM"); } boolean isUssdError; boolean isUssdRequest; boolean isUssdRelease; Loading Loading @@ -2674,7 +2673,6 @@ public class GsmCdmaPhone extends Phone { if (found != null) { // Complete pending USSD if (isUssdRelease) { found.onUssdRelease(); } else if (isUssdError) { Loading @@ -2694,6 +2692,13 @@ public class GsmCdmaPhone extends Phone { GsmCdmaPhone.this, mUiccApplication.get()); onNetworkInitiatedUssd(mmi); } else if (isUssdError && !isUssdRelease) { GsmMmiCode mmi; mmi = GsmMmiCode.newNetworkInitiatedUssd(ussdMessage, true, GsmCdmaPhone.this, mUiccApplication.get()); mmi.onUssdFinishedError(); } } Loading src/java/com/android/internal/telephony/gsm/GsmMmiCode.java +3 −1 Original line number Diff line number Diff line Loading @@ -1228,7 +1228,9 @@ public final class GsmMmiCode extends Handler implements MmiCode { onUssdFinishedError() { if (mState == State.PENDING) { mState = State.FAILED; if (mMessage.length() == 0) { mMessage = mContext.getText(com.android.internal.R.string.mmiError); } Rlog.d(LOG_TAG, "onUssdFinishedError"); mPhone.onMMIDone(this); } Loading src/java/com/android/internal/telephony/imsphone/ImsPhone.java +6 −0 Original line number Diff line number Diff line Loading @@ -1506,6 +1506,12 @@ public class ImsPhone extends ImsPhoneBase { isUssdRequest, this); onNetworkInitiatedUssd(mmi); } else if (isUssdError) { ImsPhoneMmiCode mmi; mmi = ImsPhoneMmiCode.newNetworkInitiatedUssd(ussdMessage, true, this); mmi.onUssdFinishedError(); } } Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneMmiCode.java +3 −1 Original line number Diff line number Diff line Loading @@ -1199,7 +1199,9 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode { onUssdFinishedError() { if (mState == State.PENDING) { mState = State.FAILED; if (mMessage.length() == 0) { mMessage = mContext.getText(com.android.internal.R.string.mmiError); } Rlog.d(LOG_TAG, "onUssdFinishedError: mmi=" + this); mPhone.onMMIDone(this); } Loading Loading
src/java/com/android/internal/telephony/GsmCdmaPhone.java +8 −3 Original line number Diff line number Diff line Loading @@ -2598,7 +2598,6 @@ public class GsmCdmaPhone extends Phone { * @param mmi MMI that is done */ public void onMMIDone(MmiCode mmi) { /* Only notify complete if it's on the pending list. * Otherwise, it's already been handled (eg, previously canceled). * The exception is cancellation of an incoming USSD-REQUEST, which is Loading @@ -2606,7 +2605,6 @@ public class GsmCdmaPhone extends Phone { */ if (mPendingMMIs.remove(mmi) || (isPhoneTypeGsm() && (mmi.isUssdRequest() || ((GsmMmiCode)mmi).isSsInfo()))) { ResultReceiver receiverCallback = mmi.getUssdCallbackReceiver(); if (receiverCallback != null) { Rlog.i(LOG_TAG, "onMMIDone: invoking callback: " + mmi); Loading Loading @@ -2647,6 +2645,7 @@ public class GsmCdmaPhone extends Phone { if (!isPhoneTypeGsm()) { loge("onIncomingUSSD: not expected on GSM"); } boolean isUssdError; boolean isUssdRequest; boolean isUssdRelease; Loading Loading @@ -2674,7 +2673,6 @@ public class GsmCdmaPhone extends Phone { if (found != null) { // Complete pending USSD if (isUssdRelease) { found.onUssdRelease(); } else if (isUssdError) { Loading @@ -2694,6 +2692,13 @@ public class GsmCdmaPhone extends Phone { GsmCdmaPhone.this, mUiccApplication.get()); onNetworkInitiatedUssd(mmi); } else if (isUssdError && !isUssdRelease) { GsmMmiCode mmi; mmi = GsmMmiCode.newNetworkInitiatedUssd(ussdMessage, true, GsmCdmaPhone.this, mUiccApplication.get()); mmi.onUssdFinishedError(); } } Loading
src/java/com/android/internal/telephony/gsm/GsmMmiCode.java +3 −1 Original line number Diff line number Diff line Loading @@ -1228,7 +1228,9 @@ public final class GsmMmiCode extends Handler implements MmiCode { onUssdFinishedError() { if (mState == State.PENDING) { mState = State.FAILED; if (mMessage.length() == 0) { mMessage = mContext.getText(com.android.internal.R.string.mmiError); } Rlog.d(LOG_TAG, "onUssdFinishedError"); mPhone.onMMIDone(this); } Loading
src/java/com/android/internal/telephony/imsphone/ImsPhone.java +6 −0 Original line number Diff line number Diff line Loading @@ -1506,6 +1506,12 @@ public class ImsPhone extends ImsPhoneBase { isUssdRequest, this); onNetworkInitiatedUssd(mmi); } else if (isUssdError) { ImsPhoneMmiCode mmi; mmi = ImsPhoneMmiCode.newNetworkInitiatedUssd(ussdMessage, true, this); mmi.onUssdFinishedError(); } } Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneMmiCode.java +3 −1 Original line number Diff line number Diff line Loading @@ -1199,7 +1199,9 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode { onUssdFinishedError() { if (mState == State.PENDING) { mState = State.FAILED; if (mMessage.length() == 0) { mMessage = mContext.getText(com.android.internal.R.string.mmiError); } Rlog.d(LOG_TAG, "onUssdFinishedError: mmi=" + this); mPhone.onMMIDone(this); } Loading