AI 144705: Teleca patch from 03/27/2009, fixes some CDMA issues.
Wink Saville [Mon, 6 Apr 2009 22:20:45 +0000 (15:20 -0700)]
Automated import of CL 144705

res/values/strings.xml
src/com/android/phone/InCallScreen.java

index 778d5ce..f4ead45 100644 (file)
     <string name="incall_error_call_failed">Call not sent.</string>
     <!-- In-call screen: status message displayed in a dialog when starting an MMI -->
     <string name="incall_status_dialed_mmi">Starting MMI sequence\u2026</string>
+    <!-- In-call screen: status message displayed in a dialog when starting a feature code -->
+    <string name="incall_status_dialed_fc">Starting feature code sequence\u2026</string>
     <!-- In-call screen: message displayed in an error dialog -->
     <string name="incall_error_supp_service_unknown">Unsupported service.</string>
     <!-- In-call screen: message displayed in an error dialog -->
index f183961..074942f 100644 (file)
@@ -313,9 +313,14 @@ public class InCallScreen extends Activity
                     // finish, this includes any MMI state that is not
                     // PENDING.
                     MmiCode mmiCode = (MmiCode) ((AsyncResult) msg.obj).result;
-                    if (mmiCode.getState() != MmiCode.State.PENDING) {
-                        if (DBG) log("Got MMI_COMPLETE, finishing...");
-                        finish();
+                    // if phone is a CDMA phone display feature code completed message
+                    if (mPhone.getPhoneName() == "CDMA") {
+                        PhoneUtils.displayMMIComplete(mPhone, PhoneApp.getInstance(), mmiCode, null, null);
+                    } else {
+                        if (mmiCode.getState() != MmiCode.State.PENDING) {
+                            if (DBG) log("Got MMI_COMPLETE, finishing...");
+                            finish();
+                        }
                     }
                     break;
 
@@ -1855,7 +1860,7 @@ public class InCallScreen extends Activity
 
         // Need to treat running MMI codes as a connection as well.
         if (!mForegroundCall.isIdle() || !mBackgroundCall.isIdle() || !mRingingCall.isIdle()
-            || !mPhone.getPendingMmiCodes().isEmpty()) {
+            || mPhone.getPhoneName() == "CDMA" || !mPhone.getPendingMmiCodes().isEmpty()) {
             if (VDBG) log("syncWithPhoneState: it's ok to be here; update the screen...");
             updateScreen();
             return InCallInitStatus.SUCCESS;